したがって、リンクリストがどのように機能し、C++でどのように参照を維持するかについては少し混乱しています。
たとえば、myListと言うリストを取得し、そのアイテムを印刷したいとします。印刷プロセス後にmyList
を同じ
に保つには、リストを別のリストにコピーする必要があることを学校から知っています。
Node* n;
n = myList;
while(n)
{
printf("%d ",n->val);
n=n->next;
}
OK、別のリストn(同じポインタ)にmyListのコピーがあります。nをループした後、myListは同じですが、nのような同じポインターを持っていました。
nが変更された場合、なぜmyListが変更されなかったのですか(同じポインターですよね?)?
今私が言うなら:
Node* n;
n = myList;
n->next = NULL;//or n->next=another node -doesn t matter
2番目の例では、myListも変更されています。
これを説明してもらえますか?