如何(或应该)在链接列表中使用指针
How can I (or should I) use pointers in my linked list
我正在创建一个链表程序,目前我有这样的方法将项目插入列表的前面:
template <class T>
void LinkedList<T>::insert(T *o)
{
node newNode;
newNode.o = o;
newNode.next = first;
newNode.prev = NULL;
first->prev = &newNode;
first = &newNode;
}
其中我有一个结构如下:
struct node {
node *next;
node *prev;
T *o;
};
我认为我的逻辑是正确的插入方法;然而,我觉得我做得不好,特别是在处理指针时。我觉得好像有很多新节点。行,我可以做得更好。有什么建议吗?
注意:我是C++的新手,所以请友善一点。我知道这是一个简单的问题
newNode
是insert()
的本地方法,当该方法返回时将被销毁,这意味着first->prev
和first
将指向不再存在的node
。
使用new
:
template <class T>
void LinkedList<T>::insert(T *o)
{
node* newNode = new node;
newNode->o = o;
newNode->next = first;
newNode->prev = NULL;
first->prev = newNode;
first = newNode;
}
相关文章:
- 为什么这个 std::queue/指向结构的指针列表直到 List.Size() == 0 才释放内存?
- 创建一个棋盘格或"Interweave"两个链接列表。IE 更改两个链表的指针
- 如何在构建链接列表时调整头、尾指针
- 什么更好?返回对象指针列表?或返回指向对象列表的指针?
- 处理从列表中删除指向对象的指针的"healthy"方法是什么?
- 编译包含指向模板函数的指针的初始值设定项列表时,gcc 出错,但 clang 不出错
- 如果函数采用指向类的指针,则函数将完全脱离候选列表
- 如何将共享指针列表传递到pybind11中的c++对象
- Unique_ptr:在列表中放置时未分配释放的指针
- C++:如何初始化包含具有给定键的指针列表的映射
- 使用继承的指针列表复制构造函数或重载运算符=
- 什么是结构开头的函数列表指针,称为 c++
- 使用 c++ 的 STL 列表 ..在传递列表指针的数组中
- 静止图像::获取设备列表指针
- 列表指针类的输出向量
- 使用PThreads访问全局列表-指针问题
- 操作迭代器列表+指针
- 在c++中分配带有列表指针值的STD映射
- python链接列表指针和大小
- 如何调整STL列表指针的大小