双向链表插入结点的理解。

这几天集中时间看了下单双链表的内容,发现双向链表的插入很难理解,今天恍然大悟,最重要的部分就是如何使得你的代码跟你的作图能够吻合起来,这样就不用死记硬背。

 

下图为双向链表的插入,知乎里偶然看见的一张图,这几步操作也非常明了,只是我图中画的不是很准,我都用红色箭头做了修改,这样就一目了然了。

总体来讲,要将s结点嵌入到双向链表中,需要切断并重新连接两根线,还要再额外连两根线,看图四,非常明显总共动了4根线,所以用了4条语句来做插入

1. s->next=p->next

这边p->next其实就是后面一个节点x,而不是x->pre,但图画的感觉像x-pre

2. s->prior=p

这步没什么问题

3. p->next=s

箭头也画的不好,画的像s->pre,其实是s

4. s->next->prior=s

s->next其实就是后面的一个节点x,所以就是x->prior连接了s

 

所以做完第三四步之后,就看到s和p连接上了,s和x也连上了。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值