for 中的s->next=p->next;p->next=s;p=p->next原理是啥?

 我来答
平实且通亮丶小熊S
2020-01-05 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:35%
帮助的人:972万
展开全部
这里用的是尾插法
每个新节点
插入在当前链表尾部。
p初始指向头结点,
之后每次插入后
指向链表最后一个节点。
s是要插入的节点。
于是
s=(NODE)malloc(sizeof(NODE));//申请一个新节点
s->data=rand()%m;//生成节点数据 随机
s->next=p->next;//其实 这个可以改成 s->next=NULL;因为p一直是指向最后一个节点的,p->next就是NULL。 这句 可以认为是对s的一个初始化
p->next=s;//把s放到p的下一个,也就是链表尾
p=p->next;//p始终要指向最后一个节点, 于是p=p->next;这个可以改成p=s;所以
如果改成这样就好理解多了,效果是相同的
s=(NODE)malloc(sizeof(NODE));//申请一个新节点
s->data=rand()%m;//生成节点数据 随机
s->next=NULL;//要把s插入到最后,那么s->next就初始化为空
p->next=s;//插入s节点,这样s就是最后一个节点了
p=s;//让p继续指向最后一个节点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式