不了解链表实现,请帮忙.C++
Not understanding Linked List implementation please help.C++
你能向我解释一下我用"/"标记的行吗?这对我来说意味着整个世界!
void createnode(int value)
node *temp=new node;//
temp->data=value;//
temp->next=NULL;//
下面从OP的评论中添加的代码:
void nodecreate(int value)
{
node *temp=new node;//
temp->data=value;///
temp->next=NULL;///
if(head==NULL)
{
head=temp;
tail=temp;
temp=NULL;
}
else
{
tail->next=temp;
tail=temp;
}
}
根据我的经验,即使是长期程序员似乎也没有真正掌握链表,并且大多数人都试图避免进入它,因为它们是标准库的一部分,并且 - 有些人需要一个完整的链表示例来理解你的问题,这一事实可能反映了这一点。
我花了 17 本书和一些 youtube 视频才真正了解发生了什么——16 本解释得相似,最后一本书有不同的方法,最重要的是它真的很简单,真的值得深入研究。
直奔主题:
void createnode(int value) //Function for adding a new node to the list
node *temp=new node;//Standard code dynamically allocating a new address stored in "temp" to a new struct "node"
temp->data=value;//This writes the new value passed over to the function in the new created struct
temp->next=NULL;//This writes "NULL" in the "next" variable of the new created struct to mark it as the last node when you search through the whole linked list.
(从 cpp11 开始,出于多种原因,您应该使用 nullptr 而不是 NULL。
如果您真的想掌握这个主题,我建议您通过"从亚历克斯·阿兰跳转到C++",因为对我来说这是第 17 本书,指针有 6 章。他还声称,大约 40% 的 c++ 项目需要自行创建的映射和链表,其中 std lib 不能或不应该使用,原因有几个。(他在哈佛大学教授 c++ 入门课程,如果有人追求"狗牌/证书"(。
真正帮助我理解链表的是以下内容:
- 寻找表示代码数据的新方法 (a(
- 以小块的方式完成程序 - 切碎代码 (b(
我想出的一个非常规的视觉示例(a(也帮助我理解搜索和排序算法,将一些代表变量的"派对饮料塑料杯"和一些代表通过它的数据的"post it's"。 然后我浏览了代码,在塑料杯上放了一个带有"post it"的变量名称,将数据(整数、字符、字符串等(放在不同颜色的"post it's"上,然后按照代码说从一个杯子放到另一个杯子。(也许是一个有趣的新年书派对游戏,用不同的利口酒而不是发布它的;)(
另一个是更常见的,只是写堆栈和数据,如此处所述。
(b(应该是自我解释的 - 不要试图一次掌握整个链表。一个接一个地选择模块 - 越小越好。含义:首先创建逻辑块,如"创建新节点"读取节点"删除节点",而不是较小的逻辑块,如"空列表中的第一个节点"第二个节点"等。
- 反向给定链表中的K节点
- 如果没有malloc,链表实现将失败
- 文本文件中的单词链表
- 努力将整数转换为链表。不知道我在这里做错了什么
- 链表,反向函数,数据结构
- 使用std::list创建循环链表
- 链表的泛型函数remove()与成员函数remove)
- 为什么不能修改对象中的值?另外,我如何改进此链表?
- 我们可以删除链表中静态内存中的节点吗
- C++,指针数组,指向双链表中的条目
- 链表中写入访问冲突的未知原因
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 打印所有链表的元素 (C++)
- 错误:需要类名(链表c++)
- 为什么C中的通用链表中存储的数据已损坏
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 链表c++插入,所有情况都已检查,但没有任何工作
- 链表,将列表复制到另一个列表
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 对单向链表进行排序时出现运行时错误