xt7-8.cpp
上传用户:liubin
上传日期:2022-06-13
资源大小:85k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. #include <iostream>
  2. using namespace std;
  3. #define NULL 0     
  4. struct student
  5. {long num;
  6.  float score;
  7.  student *next;
  8. };    
  9. int n;     
  10. student *del(student *head,long num)
  11. {student *p1,*p2;
  12.  if (head==NULL)                    //是空表
  13. {cout<<"list null!"<<endl; return(head);}
  14.     p1=head;                          //使p1指向第一个结点
  15.     while(num!=p1->num && p1->next!=NULL) //p1指向的不是所要找的结点且后面还有结点
  16. {p2=p1; p1=p1->next;}                 //p1后移一个结点
  17. if(num==p1->num)                        //找到了
  18. {if(p1==head) head=p1->next;   //若p1指向的是首结点,把第二个结点地址赋予head
  19.  else p2->next=p1->next;    //否则将下一结点地址赋给前一结点地址
  20.  cout<<"delete:"<<num<<endl;
  21. n=n-1;
  22. }
  23. else cout<<"cannot find "<<num;     //找不到该结点
  24. return(head);
  25. }
  26.