找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2625|回復(fù): 0
收起左側(cè)

C++語言鏈表刪除重復(fù)結(jié)點

[復(fù)制鏈接]
ID:71259 發(fā)表于 2014-12-30 01:54 | 顯示全部樓層 |閱讀模式
本帖最后由 daming 于 2014-12-30 02:14 編輯


  1. #include<iostream.h>
  2. struct link
  3. {
  4. int data;
  5. link *next;
  6. };

  7. link *rcreat()          //尾插法建立單鏈表
  8. {
  9. link *s,*p,*r; int i;
  10. p=r=new link; p->next=NULL;
  11. cin>>i;
  12. while(i){
  13.   s=new link; s->data=i;
  14.   r->next=s;
  15.   r=s;
  16.   cin>>i;
  17. }
  18. r->next=NULL;
  19. return p;
  20. }

  21. void print(link *head)  //輸出
  22. {
  23. link *p;
  24. p=head->next;
  25. while(p->next!=NULL){
  26.   cout<<p->data<<"  ";
  27.   p=p->next;}
  28. cout<<p->data<<endl;
  29. }

  30. void del(link *head ) // 刪除重復(fù)的結(jié)點
  31. {
  32. link *s,*p,*q;

  33. s=head->next;
  34. while(s!=NULL){
  35.       p=s;
  36.      q=p->next;
  37.      while(1){
  38.       if(q==NULL)
  39.        break;
  40.       if(q->data!=s->data)
  41.    {
  42.              p=q; q=q->next;
  43.    }
  44.       else{
  45.              p->next=q->next;
  46.              delete q;
  47.              q=p->next;
  48.    }
  49.   }
  50.   s=s->next;
  51. }
  52. }



  53. void main()
  54. {
  55. link *p;
  56. p=rcreat();
  57. del(p);
  58. print(p);
  59. }
復(fù)制代碼


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表