当前位置:   article > 正文

lesson10-2 删除单链表中值为x的结点_编写一个单链表类的成员方法是先删除单列表中所有值为x的结点测试类代码

编写一个单链表类的成员方法是先删除单列表中所有值为x的结点测试类代码

题目:

链表L中可能存在一个值为x的结点,设计一个函数,删除这个可能存在的结点。

代码:

  1. void searchAnddelete(LNode *L,int x){//假设单链表带头结点
  2. LNode *pre=L,*p=L->next,*q;
  3. while(p){
  4. if(p->data==x){
  5. q=p;
  6. p=p->next;
  7. pre->next=p;
  8. free(q);
  9. }
  10. else{
  11. pre=p;
  12. p=p->next;
  13. }
  14. }
  15. }

测试:

  1. #include<stdio.h>
  2. #include <stdlib.h>
  3. #include<math.h> //数学函数,求平方根、三角函数、对数函数、指数函数...
  4. //定义常量 MAXSIZE
  5. #define MAXSIZE 15
  6. //用于使用c++的输出语句
  7. #include<iostream>
  8. using namespace std;
  9. typedef struct LNode{
  10. int data;
  11. struct LNode *next;
  12. }LNode;
  13. void searchAnddelete(LNode *L,int x);
  14. void createList(LNode *&L,int arr[],int length);
  15. void printList(LNode *L);
  16. void main(){
  17. int a[]={1,3,50,7,9};
  18. int x=3;
  19. LNode *L=new LNode();
  20. L->next=NULL;
  21. createList(L,a,5);
  22. printList(L);
  23. cout<<endl;
  24. searchAnddelete(L,x);
  25. printList(L);
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/444236
推荐阅读
相关标签
  

闽ICP备14008679号