鱼C论坛

 找回密码
 立即注册
查看: 2158|回复: 12

[已解决]链表问题,大神看下谢谢

[复制链接]
发表于 2018-4-21 20:45:39 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
if里面的  和else里面的   看不懂。这个程序目的是多个节点初始化。
最佳答案
2018-4-21 21:24:16
head应该是要被设置为链表头指针,最开始head初始化为0,第一次循环if语句判断head是否为0,如果为0则代表是第一次循环。则把head指向p1,并且把p2指向p1。然后进行下一次循环,下一次循环中,head已经不等于0,所以会执行else里的内容,p2->next代表头节点的下一跳指针,把下一跳指向新的节点后,p2在指向新节点。然后重新循环这一步骤。
Screenshot_2018-04-20-22-58-39-534.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-21 20:53:46 | 显示全部楼层
拜托,上代码也就复制 粘贴。会比截图来的慢吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 21:11:32 From FishC Mobile | 显示全部楼层
ba21 发表于 2018-4-21 20:53
拜托,上代码也就复制 粘贴。会比截图来的慢吗?

看的视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-21 21:24:16 | 显示全部楼层    本楼为最佳答案   
head应该是要被设置为链表头指针,最开始head初始化为0,第一次循环if语句判断head是否为0,如果为0则代表是第一次循环。则把head指向p1,并且把p2指向p1。然后进行下一次循环,下一次循环中,head已经不等于0,所以会执行else里的内容,p2->next代表头节点的下一跳指针,把下一跳指向新的节点后,p2在指向新节点。然后重新循环这一步骤。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 21:32:36 From FishC Mobile | 显示全部楼层
洛臻 发表于 2018-4-21 21:24
head应该是要被设置为链表头指针,最开始head初始化为0,第一次循环if语句判断head是否为0,如果为0则代表 ...

这里面的=不算赋值吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-21 21:36:08 | 显示全部楼层
好厉害的样子,一直没弄懂链表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 21:36:17 From FishC Mobile | 显示全部楼层
洛臻 发表于 2018-4-21 21:24
head应该是要被设置为链表头指针,最开始head初始化为0,第一次循环if语句判断head是否为0,如果为0则代表 ...

看了还是有点蒙?elase里面的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 21:45:28 From FishC Mobile | 显示全部楼层
洛臻 发表于 2018-4-21 21:24
head应该是要被设置为链表头指针,最开始head初始化为0,第一次循环if语句判断head是否为0,如果为0则代表 ...

p2->next指向p1,p2指向p1是说他们公用一个值,还是p1的值给p2next,p2等于空的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-21 21:47:44 | 显示全部楼层
卯乐 发表于 2018-4-21 21:32
这里面的=不算赋值吗?

就是赋值啊,赋一个初值0就是初始化啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-21 21:54:59 | 显示全部楼层
卯乐 发表于 2018-4-21 21:45
p2->next指向p1,p2指向p1是说他们公用一个值,还是p1的值给p2next,p2等于空的?

P2和P1都是指针变量,说P2->next指向P1是P2->next也是一个指针变量,指向的是一个地址。p2->next指向p1:代表p2现在指向的是上一个节点,p1是新节点,p2->next=p1的意思是上一个节点的下一跳指向了新节点。
然后p2=p1是代表p2指向了p1,也可以说p2指向了新节点。这跟上一个p2->next=p1没有关系。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 22:01:36 From FishC Mobile | 显示全部楼层
洛臻 发表于 2018-4-21 21:54
P2和P1都是指针变量,说P2->next指向P1是P2->next也是一个指针变量,指向的是一个地址。p2->next指向p1: ...

还是没懂,p2->next=p1的意思就是证明 p2->next是个地址。   其他的还是不懂。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-21 22:08:20 From FishC Mobile | 显示全部楼层
洛臻 发表于 2018-4-21 21:54
P2和P1都是指针变量,说P2->next指向P1是P2->next也是一个指针变量,指向的是一个地址。p2->next指向p1: ...

非常感谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-21 22:16:12 | 显示全部楼层
卯乐 发表于 2018-4-21 22:01
还是没懂,p2->next=p1的意思就是证明 p2->next是个地址。   其他的还是不懂。

P2是一个结构体指针变量,这个结构体里面有一个元素是next,这个next应该也是一个结构体指针变量。所以p2->next代表的是P2指针变量指向的结构体里面的这个next这个指针,p2->next=p1的意思是让next这个指针变量指向p1这个结构体的地址。这么说明白吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-1 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表