数据结构的一道题,请问下p=L;L->next=NULL是什么意思,尤其是它为什么要有p=L?谢谢
展开全部
题目是单链表逆置,这个程序实现了 A->B->C->D->null; 变成 null<-A<-B<-C<-D
具体到程序,假设有个链表 A->B->C->D->null,一开始 L 作为参数传入进来,那么就是
L->A->B->C->D->null
p=L; //执行 p = L; 即将 p 和 L 执行同一个链表,此时 L(p)->A->B->C->D->null
p=p->next; // 此时 L->A->B->C->D->null 而 p 指向 B 了
// 从p 看来,链表是 p->B->C->D->null
L->next=NULL; // 链表变成了2根 : null<-A<-L p->B->C->D->null
接下来循环从 p 的链条中取出一个元素,放入 L 链条中,然后调整 L 的位置,直到 p 指向 null 时为止,过程如下:
null<-A<-B<-L p->C->D->null
null<-A<-B<-C<-L p->D->null
null<-A<-B<-C<-D<-L p->null
具体到程序,假设有个链表 A->B->C->D->null,一开始 L 作为参数传入进来,那么就是
L->A->B->C->D->null
p=L; //执行 p = L; 即将 p 和 L 执行同一个链表,此时 L(p)->A->B->C->D->null
p=p->next; // 此时 L->A->B->C->D->null 而 p 指向 B 了
// 从p 看来,链表是 p->B->C->D->null
L->next=NULL; // 链表变成了2根 : null<-A<-L p->B->C->D->null
接下来循环从 p 的链条中取出一个元素,放入 L 链条中,然后调整 L 的位置,直到 p 指向 null 时为止,过程如下:
null<-A<-B<-L p->C->D->null
null<-A<-B<-C<-L p->D->null
null<-A<-B<-C<-D<-L p->null
更多追问追答
追问
同一个人
追答
嘿嘿,是啊,同一个,赚点分不容易啊
2014-01-24
展开全部
L是头节点指针,p=L使得指针p也指向头节点。L->next=NULL表示头节点与链表分离,因为p=p-next的p指针指向了下一个节点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |