我真的很困惑,究竟是怎么回事的前..添加节点到链表
我具备的功能
void addToFront(int data)
{
Node* tmp = new Node();
tmp -> data = data;
tmp -> next = head;
head = tmp;
}
所以,当我们做线tmp-> next = head
,我们正在将tmp
指针指向head
指向的内容(列表的当前第一个元素)?因为这就是它的感觉,但不会只是让它指向head
?然后当我们做head = tmp
时,我们正在向我们创建的新节点指出正确的方向?
@so然后,因为指针的值是它指向的东西的地址,所以tmp得到头的价值意味着它得到了什么头指向的地址.. – FrostyStraw
这是正确的。 'tmp - > next = head;'给出'tmp - > next'和'head'相同的值。因此'tmp - > next'现在指向'head'指向的任何东西。 –
但后来不会头= tmp意味着头现在指向任何tmp指向?现在不是tmp指向以前是链表上的第一个节点吗? – FrostyStraw