日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

c语言链表找姓,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言链表找姓,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

#include

#include

#include

#include

typedef?struct?Node

{

int?data;

struct?Node?*next;

}AN;

int?data;

AN?*CreList(AN?*head);

AN?*InsList(AN?*head,int?data);

AN?*DelList(AN?*head,int?data);

void?find(int?value,AN?*head);

void?Des(AN?*head);

void?display(AN?*head);

void?main()

{

char?j='y';int?x;AN?*head=NULL;

printf("請創建一個鏈表,以0結束\n");head=CreList(head);

while(j=='y')

{

j=0;

printf("選擇操作:\n1.重新創建鏈表\n2.插入數據\n3.刪除數據\n4.查找某個數\n5.輸出鏈表\n6.刪除鏈表\n");

scanf("%d",&x);

switch(x)

{

case?1:

printf("請輸入鏈表,以0結束\n");head=CreList(head);break;

case?2:

printf("請插入一個數字\n");scanf("%d",&data);head=InsList(head,data);break;

case?3:

printf("刪除哪個數?\n");scanf("%d",&data);head=DelList(head,data);break;

case?4:

printf("查找那個數?\n");scanf("%d",&data);find(data,head);break;

case?5:

display(head);break;

case?6:

Des(head);break;

default?:0;

}

printf("continue?(y?or?n)\n");

while(j!='y'&&j!='n')

{

j=getch();

}

system("cls");

}

}

AN?*CreList(AN?*head)

{

AN?*p;

AN?*p1=NULL;

p=(AN?*)malloc(sizeof(AN));

int?x;

scanf("%d",&x);

p->data=x;

p->next=NULL;

head=p;p1=p;

while(x!=0)

{

p=(AN*)malloc(sizeof(AN));

scanf("%d",&x);

if(x==0){free(p);p=NULL;break;}

p->data=x;

p->next=NULL;

p1->next=p;

p1=p;

}

return?head;

}

void?display(AN?*head)

{

AN?*p=head;

while(p!=NULL)

{

printf("%d\n",p->data);

p=p->next;

}

}

AN?*InsList(AN?*head,int?data)

{

AN?*w,*p=head,*p1=head;

if((w=(AN?*)malloc(sizeof(AN)))==NULL)

printf("內存空間申請失敗\n");

else

{

w->data=data;

w->next=NULL;

if(w->data<=p->data)

{w->next=head;return?w;}

else

{

while(w->data>p->data&&p->next!=NULL)

{

p1=p;

p=p->next;

}

if(w->data>p->data)

{

p1=p;

p=p->next;

}

p1->next=w;

w->next=p;

}

}

return?head;

}

AN?*DelList(AN?*head,int?data)

{

AN?*p=head,*p1=head;

while(p->data!=data)

{

p1=p;

p=p->next;

if(p==NULL)break;

}

if(p==NULL)?printf("表中無此數\n?");

else

if(head->data==p->data)

{

head=head->next;

free(p);

}

else

p1->next=p->next;

p=NULL;

free(p);

return?head;

}

void?find(int?value,AN?*head)

{

AN?*p=head;

int?count=0;

while(p->data!=value&&p->next!=NULL)

{

p=p->next;count++;

}

if(p->next==NULL&&p->data!=value)

printf("鏈表里無此數\n");

else

printf("是第%d個數\n",count+1);

}

void?Des(AN?*head)

{

AN?*p;

while(head->next!=NULL)

{

p=head;

head=head->next;

free(p);

}

free(head);

printf("鏈表成功刪除");

}

總結

以上是生活随笔為你收集整理的c语言链表找姓,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。