在无序链接列表中添加节点

时间:2016-03-28 04:04:50

标签: c++ function linked-list add unordered

我只是想知道这两行之间的区别。 listData是顺便说一句。

temp->next = listData;

listData = temp->next;

以下是将节点添加到无序链接列表的完整代码

NodeType* temp;
temp = new NodeType;
temp->data = item;
temp->next = listData;
listData = temp;
length++;

所以,如果我改为listData = temp->next temp->next = listData会发生什么,或者有人可以用最简单的方式解释它意味着什么。每当我看到右侧或左侧的->时,我都会感到困惑。谢谢!

1 个答案:

答案 0 :(得分:0)

->只表示您正在访问指针引用,仅此而已。

当你看到一个等号时,它意味着右侧的任何东西被分配到左侧(除非你覆盖等号),你通常不会这样做。

  1. temp->next = listData
  2. 您将listData设置为temp。

    的下一个
    1. listData = temp->next
    2. 您正在将temp的下一个设置为listData

      由于您要将名为temp的节点添加到LinkedList,因此您需要前者。考虑链接列表,您要在两个节点tempA之间添加节点B。你会:

      1. A的下一个设置为temp

      2. temp的下一个设置为B

      3. 此过程的后者是temp->next = listData正在做的事情。 (我假设listData是包括B之后链接列表的其余部分。