这个用于清空链表的代码可以吗?
Is this code for emptying a linked list okay?
我需要处理一个在不完全消除链表的情况下重置链表的函数,我想知道我的代码段是否正确。还有其他建议吗?
void reset(){
if (initial == nullptr){
return;
}
Node<T> *flag;
Node<T> *temp;
while(initial->obtainNext() != nullptr){
flag = initial->();
temp = flag->obtainNext();
delete flag;
inicial->setNext(temp);
}
initial->setNext(nullptr);
return;
}
据我了解,您正在尝试删除您的链表。 1.您可以只遍历给定节点并删除所有将头节点设置为nullptr的节点。 2.您可以创建一个包含该链表的对象,并且可以通过使用方法1擦除所有人来达到您的目的,但该对象仍然存在,变量设置为nullptr。
我想您已经在类中实现了 \pop_front()
\erase()
方法pop_back()
因此可以不编写一些新的附加逻辑,而是将现有逻辑与任何循环一起使用,如下所示:
void clear
{
while(this->size) //can be class field which indicates list's size or call size() method
this->pop_front();// can be changed as mentioned above
}
相关文章:
- 为什么模数运算符不适用于该代码
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 以下 C++ 代码用于 -> "#define idiv(a, b) (((a) + (b) / 2) / (b))" 是什么?
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 通过Python Distutils(用于Python C扩展)使用可重定位的设备代码编译CUDA代码
- 将 SFML 用于代码块C++出现错误库 SFML
- 用于查找数组中最大元素的出现次数的代码,给出分段错误
- 如何知道用于实现标准代码段的确切数据结构和算法,例如在C++STL中?
- Windows Toast 通知不适用于 MS CPP 示例代码
- 如何在可视化代码中生成用于 c++ 开发的调试器?
- 用于C++代码的 API 监视器类型定义 (XML)
- 此代码不适用于 { "parses" , "parsecs" }
- 代码适用于调试,但不适用于发布
- 用于查找最低共同祖先的代码不适用于某些测试用例
- 为什么我的Arduino代码用于运行蓝牙控制的机器人,障碍物传感器无法正常工作
- 是否有一种方法可以将C 代码用于Node-Red中
- 为什么此基准代码用于线性和二进制搜索不起作用
- 为什么此代码用于单个链接列表不起作用
- 该递归代码用于计算指数的运行时间是多少
- 该代码用于绘制NACA机翼.打印YC时,我收到了限制错误