王道数据结构 (29) 双链表的操作

双链表的初始化 :

 

 

1.先分配头节点 

 

 

2.头节点的左指针 右指针为NUll

   

 

 

 

 双链表的插入:

双链表的插入需要判断p  的 下一个 节点 是否为 NUll  

 

如下面两个图:

 

 

    

 

 

如果 p的下一个节点是空 会报错  所以我们要进行判断 

 

 

 

 

 

 

 

 

 

 

 

 

 

执行顺序 1 2  3  4  

(1)    先将 s 的next 域指向原来p 指向的next  域 

 

 

 

 

 

 

 

(2)  p 的next  域是 y  y 的 前域是 s  则 是黄色这条线 这步 ‘

 

 

 

 

(3)   s 的前域 是 p  

 

 

 

 

 

 

 

 

 

(4)    p 的 next  域是 s 

 

 

 

 

 

 总结 :  插入就是 要 将插入节点 的前域 后域与 上下节点相连,上一个节点 的next  域 指向 s  x下一个节点的前域 指向 s   

 

 

 

双链表的删除

 

 

 

 

删除操作 就是 将 中间 的 节点 的链接 断开 、

(1) 将被删除节点 的 上一个节点的 next  指向  被删除节点 的 next  域 

(2) 将被删除节点 的 下一个节点 的 前域 指向 被删除节点 的上一个节点 

posted @ 2020-08-26 09:40  1点  阅读(323)  评论(0编辑  收藏  举报