当前位置:   article > 正文

C语言实现单链表的删除_单链表的删除算法c语言

单链表的删除算法c语言

一.单链表的按位序删除

  1. //按位序删除(带头结点)
  2. bool ListDelete(LinkList &L, int i, int &e) {
  3. if (i < 1) {
  4. return false;
  5. }
  6. LNode * p;
  7. int j = 0;
  8. p = L;
  9. while (p != NULL && j < i - 1)
  10. {
  11. p = p->next;
  12. j++;
  13. }
  14. if (p == NULL)
  15. return false;
  16. if (p->next == NULL)
  17. return false;
  18. LNode *q = p->next;
  19. e = q->data;
  20. p->next = q->next;
  21. free(q);
  22. return true;
  23. }

二.单链表的指定元素删除

  1. //指定元素的删除
  2. bool DeleteNode(LNode*p) {
  3. if (p == NULL)
  4. return false;
  5. if (p->next == NULL)
  6. return false;
  7. LNode *q = p->next;
  8. p->data = p->next->data;
  9. p->next = q->next;
  10. free(q);
  11. return true;
  12. }

总结思维导图:

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号