无法删除链接列表中的节点
Cannot delete node in LinkedList
我遇到了无法从链接列表中删除节点的问题。我的问题有其他目的,但我已将问题范围缩小到无法删除上一个节点。
void deleteNodes(LN<T>*& l) {
if (l == nullptr) return;
LN<T> *temp = nullptr;
for (LN<T> *current = l->next, *previous = l; current != nullptr && previous != nullptr; previous = current, current = current->next) {
delete previous;
}
}
尝试删除上一个节点会导致程序崩溃错误/无限循环。
新更新:如果我删除"上一个=当前"并且只删除前一个一次,我会得到无限循环。
为什么要在 for 循环中使用所有内容
您可以使用简单的代码结构来执行此操作。试试这种方式,可能是因为代码中给出了您的 for 循环。
void deleteNodes(LN<T>*& l) {
if (l == nullptr) return;
LN<T> *temp = nullptr;
*previous = l;
for (LN<T> *current = l->next; current != nullptr; current = current->next){
if(previous != nullptr){
previous->next=nullptr;
delete previous;
previous = current;
}
else
break;
}
previous->next=nullptr;
delete previous;
}
相关文章:
- 删除链接列表中剩余的最后一个节点
- 只有我的"链接列表"中的第一个节点正在打印
- 避免在使用链接列表从 deque 中删除最后一个节点时出现内存泄漏
- 创建附加到每个节点的节点列表 (c++)
- 如何仅在 2 个节点之间获取最短路径,给定邻接列表有向图?
- 如何使用LLVM C++API向保留节点列表添加
- 如何确保我的节点被添加到链接列表中
- Node中的子节点列表在C++中的BFS遍历过程中丢失
- 无法更新属于列表中节点的对象中的值
- 测试列表中节点的删除
- 如何获取列表中有子项的树的节点总和?
- 如何使用 std::list 作为公开节点的列表的接口的实现?
- 在由邻接列表表示的树中查找节点到另一个给定节点之间的路径
- C++ 链表合并排序的实现在连接 1 个以上节点的子列表时失败
- 链接列表中的所有节点都相同,似乎插入不起作用
- C 中的学生指针节点列表中的内存泄漏
- 链接节点列表,分段故障
- 有效删除N- Ary树的节点列表
- 使用 Python API 获取 Maya 中的引用节点列表
- 创建模板树节点列表时出错