我只是想知道这两行之间的区别。 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
会发生什么,或者有人可以用最简单的方式解释它意味着什么。每当我看到右侧或左侧的->
时,我都会感到困惑。谢谢!
答案 0 :(得分:0)
->
只表示您正在访问指针引用,仅此而已。
当你看到一个等号时,它意味着右侧的任何东西被分配到左侧(除非你覆盖等号),你通常不会这样做。
temp->next = listData
您将listData设置为temp。
的下一个listData = temp->next
您正在将temp的下一个设置为listData
由于您要将名为temp
的节点添加到LinkedList,因此您需要前者。考虑链接列表,您要在两个节点temp
和A
之间添加节点B
。你会:
将A
的下一个设置为temp
将temp
的下一个设置为B
此过程的后者是temp->next = listData
正在做的事情。 (我假设listData是包括B
之后链接列表的其余部分。