数据结构的一道题,请问下p=L;L->next=NULL是什么意思,尤其是它为什么要有p=L?谢谢

 我来答
来自历山樱桃小嘴的史瑞克
推荐于2017-12-15 · TA获得超过183个赞
知道答主
回答量:81
采纳率:0%
帮助的人:50.8万
展开全部
题目是单链表逆置,这个程序实现了 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
更多追问追答
追问
同一个人
追答
嘿嘿,是啊,同一个,赚点分不容易啊
匿名用户
2014-01-24
展开全部
L是头节点指针,p=L使得指针p也指向头节点。L->next=NULL表示头节点与链表分离,因为p=p-next的p指针指向了下一个节点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式