91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中怎么實現鏈表操作

發布時間:2021-07-15 11:42:00 來源:億速云 閱讀:118 作者:Leah 欄目:編程語言

C++中怎么實現鏈表操作,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

C++鏈表操作代碼示例:

// linklist.cpp : 定義控制臺應用程序的入口點。   #include "stdafx.h"   #include "malloc.h"   #include "stdlib.h"   #define NULL 0   #define LEN sizeof(struct student)   struct student   {   long num;   float score;   struct student* next;   };   int n;   struct student* creat()   {   struct student *head;   struct student *p1,*p2;   n=0;   p1=p2=(struct student*)malloc(LEN);   scanf("%ld",&p1->num);   scanf("%f",&p1->score);   head=NULL;   while (p1->num!=0)   {   n++;   if (n==1)   {   head=p1;   }   else   {   p2->next=p1;   }   p2=p1;   p1=(struct student*)malloc(LEN);   scanf("%ld",&p1->num);   if (p1->num==0)   break;   scanf("%f",&p1->score);   }   p2->next=NULL;   return (head);   };   void print(struct student *head)   {   struct student *p;   printf("\n New,These %d records are:\n",n);   p=head;   if (head!=NULL)   {   do   {   printf("%d %5.1f\n",p->num,p->score);   pp=p->next;   }while (p!=NULL);   }   }   struct student* insert(struct student *head,struct student *stud)   {   struct student *p0, *p1, *p2;   p1=head;   p0=stud;   if (head==NULL)   {   head=p0;   p0->next=NULL;//insert into head point   }   else   {   while ((p0->num>p1->num)&&(p1->next!=NULL))   {   p2=p1; //p2 is point to just p1 point to node;   p1p1=p1->next;   }   if (p0->num<=p1->num)   {   if (p1==head)   {   head=p0;//insert into before first node   }   else   {   p2->next=p0;//insert into after point p2   }   p0->next=p1;   }   else   {   p1->next=p0; //insert into after last point   p0->next=NULL;   }   }   n++;   return(head);   };   struct student* del(struct student *head,long num)   {   struct student *p1, *p2;   if (head==NULL)   {   printf("\n list Null!\n");   return (head);   }   p1=head;   while (num!=p1->num&&p1->next!=NULL)   //find num if equal p1->num   {   p2=p1;   p1p1=p1->next;   }   if (num==p1->num)   {   if (p1==head)   head=p1->next;//delete head node because num=head.num   else   p2->next=p1->next;//delete node. node is not head point   printf("delete:%ld\n",num);   n--;   }   else   {   printf("%ld not been found!\n",num);   }   return (head);   };   int _tmain(int argc, _TCHAR* argv[])   {   struct student *head,*end;   head=creat();   print(head);   struct student insertnode;   insertnode.num=3;   insertnode.score=900;   head=insert(head,&insertnode);   print(head);   head=del(head,3);   print(head);   return 0;   }

看完上述內容,你們掌握C++中怎么實現鏈表操作的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

明溪县| 广平县| 娱乐| 勃利县| 临汾市| 双城市| 宝应县| 综艺| 商洛市| 虞城县| 香港| 隆尧县| 翁牛特旗| 那曲县| 栾川县| 体育| 南汇区| 资阳市| 定襄县| 登封市| 怀柔区| 凤台县| 寿光市| 葵青区| 旌德县| 郁南县| 威远县| 达孜县| 仁寿县| 双峰县| 宣恩县| 赫章县| 凭祥市| 余江县| 杭州市| 略阳县| 西充县| 九江县| 武功县| 宜都市| 丰原市|