c++ - c++ 在链表的末尾插入一个节点

标签 c++ linked-list

对于节点:

struct node
{ int data;
  struct node *next;
};

node *tmp = new node;
tmp->data=1;
tmp->next = nullptr;

要添加它,我们使用:

tail->next=tmp;
tail=tail->next;

我们为什么不写:

tail->next=tmp;
tail=tmp;

最佳答案

虽然最终结果是一样的,但第一个表达了意图——更新 tail 指向新插入的最后一个节点——更清晰。

第二个的正确性不太明显,需要一些思考(以及它之前的行的上下文)来弄清楚为什么有人会将 tail 指向一个临时节点。

关于c++ - c++ 在链表的末尾插入一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51978334/

相关文章:

Java实现归并排序解决链表 split 问题

c++ - 如何在不首先定义其大小的情况下初始化 char*

c - C 上的链表返回 NULL

c++ - 从派生类引用基类的更好习惯用法?

c++ - C++中字符串数组中最长的字符串

c - 添加时链接不指向下一个元素

c++ - 值列表是否在增加?

c - C 中的链表迭代

c++ - 如何正确删除/重构«friend»依赖声明?

c++ - Boost 与 .Net 随机数生成器