q=p->next,p=q,q=q->next假如有4个结点,1,2,3,4.p 指向2结点,q=p->next,q 指向结点3.那么,p=q,q=q->next 此时q从第3结点末指向第4个结点,p从第2结点末指向第3个结点.但是p=q为什么不是从第一个结点指向第三

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 08:31:31
q=p->next,p=q,q=q->next假如有4个结点,1,2,3,4.p 指向2结点,q=p->next,q 指向结点3.那么,p=q,q=q->next 此时q从第3结点末指向第4个结点,p从第2结点末指向第3个结点.但是p=q为什么不是从第一个结点指向第三

q=p->next,p=q,q=q->next假如有4个结点,1,2,3,4.p 指向2结点,q=p->next,q 指向结点3.那么,p=q,q=q->next 此时q从第3结点末指向第4个结点,p从第2结点末指向第3个结点.但是p=q为什么不是从第一个结点指向第三
q=p->next,p=q,q=q->next
假如有4个结点,1,2,3,4.p 指向2结点,q=p->next,q 指向结点3.那么,p=q,q=q->next 此时q从第3结点末指向第4个结点,p从第2结点末指向第3个结点.但是p=q为什么不是从第一个结点指向第三个结点 而是从第二指向第三.只是把q值赋给p,p 应该还是从第一结点末尾开始指的呀

q=p->next,p=q,q=q->next假如有4个结点,1,2,3,4.p 指向2结点,q=p->next,q 指向结点3.那么,p=q,q=q->next 此时q从第3结点末指向第4个结点,p从第2结点末指向第3个结点.但是p=q为什么不是从第一个结点指向第三
在使用动态链表时,需要分清实体(节点)、指针,以及实体中的指针.
指针,相当于一个箭头,p,q 都是这样的箭头;
实体,相当于盒子,现在有1~4#共4个盒子;
实体中的指针,盒子中还藏着箭头,指向其他盒子,现在1#盒中的箭头指着2#盒,2#盒中的箭头指着3#盒,.
你手中有p和q两个箭头,你的前提是p指向2#盒,然后
q = p->next,就是说,让q指向2#盒中那个箭头所指的盒子,也就是3#盒;
p = q; 现在p,q都指着3#盒了
q = q->next,q指向3#盒箭头所指的盒子.
注意到吗,上面三句都是你手中的箭头在指来指去,
而你说的从节点1指向节点3,那需要修改“盒子中的箭头”
p->next = ...这种写法是修改盒子中的箭头