谁能帮我解释一下这啥意思啊例如q=p->next,L->next=p,p->next=L->next,p=q
gsky 2007-04-17 10:30:54 我是初学数据结构 老师讲时候能听明白是那么回事 就是说知道是如何实现那么个思想 但是实际自己再看的时候就很迷糊了 现在此时我举例说一下
单链表逆置 如下:
p=L->next->next;
q=p->next;
L->next->next=NULL;
while(p!=null)
{
p->next=L->next;
L->next=p;
p=q;
q=q->next;
现在我知道是要形成这样的效果 比如开始链表是这样:1->2->3->4
逆置完事应该是1<-2<-3<-4 是这样吧.
例如
p=L->next->next;这句意思是把头节点的后继的后继指向p是吗 比如上面的例子来说就是1是头节点的话 那么这句话就是把1的后继也就是2的后继指向p对吗
q=p->next;这句的意思就p的后继指向q
L->next->next=NULL;这句是把1的后继的后继置空
while(p!=null)如果p不为空
{
p->next=L->next;这句是把1的后继指向p的后继 (这句啥意思啊)
L->next=p;这句呢把p付给l的后继是吗
p=q;这句把q给p
q=q->next;
q=p->next 这句是把p的后继指针指向q
我的妈呀 蒙了啊 谁帮我分析一下啊 调理一下思路啊 怎么乱其八糟的啊
谢谢各位啦
单链表逆置方法二:线性表由q来
表示
p=null;
w=q;
while(w!=null)
{
w=w->next;w的后继指向w
q->next=p;(。。。。。我要疯了 谁帮我继续解释一下啊 求求你们了)
p=q;
q=w;
}
最好是把你们看到这些个语句是怎么理解的 在心里是怎么用汉语读出这些个语句的高速我一下 谢谢啦