首页 > 其他 > 详细

双向链表的三种插入方法研究

时间:2021-04-02 12:38:59      阅读:19      评论:0      收藏:0      [点我收藏+]

1. 初始化一个双向链表。

技术分享图片

 

 

 2. 具体方法插入,每个节点可以存在如下结构:

struct node_each node{
  int data;
  struct node_each *prev;
  struct node_each *next;
}; 

A. 头插入法

技术分享图片

 

 

 

 

 

 代码思路:

{
    D->next = head; //M2
    head->prev = D; //M1
    head = D;
}

B 尾插入法

技术分享图片

 

 

 

 

代码思路:

{
  //body -> C
if (body->next == NULL) { body->next = D; //M1 D->prev = body; //M2 } }

C 中间插入法

技术分享图片

 

 

 代码思路:

  

{
  if (body->next == NULL)
  {
      //print nothing
  }
  else
  {
    //A as body after D
      body->next-prev = D; //M2
      D->next = body->next; //M1
      body->next = D; //M4
      D->prev = body;//M3
  }
}

 

 把每一条链都补全,代码迎刃而解。

 

双向链表的三种插入方法研究

原文:https://www.cnblogs.com/real-watson/p/14609820.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!