所以我对链表如何工作以及它们如何在 C++ 中保持引用有点困惑。
例如,我有一个列表,可以说myList,我想打印它的项目。
我从学校知道我必须将我的列表复制到另一个列表以在打印过程后保持myList相同。
Node* n;
n = myList;
while(n)
{
printf("%d ",n->val);
n=n->next;
}
好的,所以我在另一个列表 n 中有一个 myList 的副本(具有相同的指针)。在我遍历 n 之后, myList 是相同的,但具有与 n 相同的指针。
如果 n 改变了为什么 myList 没有改变(相同的指针,对吗?)?
现在如果我说:
Node* n;
n = myList;
n->next = NULL;//or n->next=another node -doesn t matter
现在在第二个例子中 myList 也被改变了。
你能给我解释一下吗?