数据结构中C语言的一些问题

图中s->data=c;r->next=s;r=s;的具体作用,以及r=s是干什么,新学数据结构,这些不知道为什么,求大神解答一下... 图中s->data=c;r->next=s;r=s;的具体作用,以及r=s是干什么,新学数据结构,这些不知道为什么,求大神解答一下 展开
 我来答
胡学酥
2017-11-12 · TA获得超过246个赞
知道小有建树答主
回答量:109
采纳率:83%
帮助的人:58.8万
展开全部
s和r都是节点的指针
这是最简单的链表节点 一个节点由两部分组成 char data 和 node *next
next也是指针
这个算法是默认有一个初始头节点的,由r指向。因为只有一个节点 所以自己也是尾节点,r指向它没毛病。 此时r->next =null 你不用关心头节点的data是什么
然后开始循环,给s申请一个新的node节点空间,此时s指向这个新节点,然后通过s给这个节点的data赋值。
但是,这个节点跟链表是没有任何关系的,所以我们要把这个节点加到链表后面。
此时链表就一个节点(r始终指向尾节点),所以r->next=s 两个节点链接到了一起
然后再重要的事情再说一遍,r始终指向尾节点,不然下一个节点怎么加到尾部
你回去检查下发现,s还是原来那个值,新申请的节点此时有两个指针指向, 一个是r->next
另一个是s
所以让r=s 现在r也指向这个节点了,s可以空闲出来进行下一个节点的申请了
仙亦佛
2017-11-12 · TA获得超过366个赞
知道小有建树答主
回答量:707
采纳率:59%
帮助的人:422万
展开全部
r始终指向最后一个结点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式