当前位置:   article > 正文

数据结构--双向链表的操作(增加和删除节点)_双链表加节点

双链表加节点

1)双向链表新增节点:

第一步:首先找到插入位置,节点 s 将插入到节点 p 之前 
第二步:将节点 s 的前驱指向节点 p 的前驱,即 s->prior = p->prior; 
第三步:将节点 p 的前驱的后继指向节点 s 即 p->prior->next = s; 
第四步:将节点 s 的后继指向节点 p 即 s->next = p; 
第五步:将节点 p 的前驱指向节点 s 即 p->prior = s;

  1. void insertNode(){
  2. struct node{
  3. int x;
  4. node *prior;
  5. node *next;
  6. };
  7. node *s;
  8. node *p;
  9. //插入节点
  10. s->prior = p->prior;
  11. p->prior->next = s;
  12. s->next = p;
  13. p->prior = s;
  14. }

2)双向链表删除节点:

第一步:找到即将被删除的节点 p 
第二步:将 p 的前驱的后继指向 p 的后继,即 p->prior->next = p->next; 
第三步:将 p 的后继的前驱指向 p 的前驱,即 p->next->prior = p->prior; 
第四步:删除节点 p 即 delete p;
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/455410
推荐阅读
相关标签
  

闽ICP备14008679号