分享
 
 
 

c语言最经典的链表

王朝c/c++·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

在turbo c 2.0 下调试通过.(把汉语注释去掉)

#include"stdio.h"

#include"malloc.h"

#define NULL 0

#define L sizeof(strUCt integer)

struct integer /*定义结构体*/

{

int num;

int zhengshu;

struct integer *next;

};

int n; //纪录链表的长度

struct integer *creat(void) /*创建链表*/

{

struct integer *head;

struct integer *p1,*p2;

n=0;

p1=p2=(struct integer *)malloc(L);

scanf("%d,%d",&p1-num,&p1-zhengshu);

head=NULL;

while(p1-num!=0)

{

n=n+1;

if(n==1) head=p1;

else p2-next=p1;

p2=p1;

p1=(struct integer *)malloc(L);

scanf("%d,%d",&p1-num,&p1-zhengshu);

}

p2-next=NULL;

return(head);

}

void print(struct integer *head) /*打印链表中的数据*/

{

struct integer *p;

printf("Now %d biaohao and zhengshu are :n",n);

p=head;

if(head!=NULL)

do

{printf("%d,%5.1dn",p-num,p-zhengshu);

p=p-next;

}while(p!=NULL);

}

int count(struct integer *head) /*返回链表的长度*/

{

int i=0;

struct integer *p;

p=head;

while(p!=NULL)

{

p=p-next;i++;

}

return i;

}

void *findnode(struct integer *head,int num) /*查找链表中的第num个数据*/

{

int j=1;

struct integer *p;

/*if(head==NULL)

{

printf("n空链表,请先创建!n");

return;

}*/

p=head;

if(numcount(head)numnext;

}

printf("%d bianhao reprensts %dn",p-num,p-zhengshu);

printf("n");

}

return(head);

}

struct integer *del(struct integer *head,long num) /*删除链表中的第num个数据*/

{

struct integer *p1,*p2;

if(head==NULL)

{

printf("nList Null!n");

return;

}

p1=head;

while(num!=p1-num && p1-next!=NULL)

{

p2=p1;

p1=p1-next;

}

if(num==p1-num)

{

if(p1==head) head=p1-next;

else p2-next=p1-next;

printf("Delete: %dn",num);

n=n-1;

}

else printf("%d not been fonnd!n",num);

return(head);

}

struct integer *insert(struct integer *head,struct integer *stud) /*插入数据*/

{

struct integer *p0,*p1,*p2;

p1=head;

p0=stud;

if(head==NULL)

{

head=p0;

p0-next=NULL;

}

else

{

while((p0-nump1-num)&&(p1-next!=NULL))

{

p2=p1;

p1=p1-next;

}

if(p0-numnum)

{

if(head==p1)head=p0;

else p2-next=p0;

p0-next=p1;

}

else

{

p1-next=p0;

p0-next=NULL;

}

}

n=n+1;

return(head);

}

main() /*主功能函数*/

{

int a,b;

struct integer *head,stu;

int del_num,fin_num;

printf("1 to go on / 0 to exit:n");

scanf("%d",&a);

while(a!=0)

{

/*struct integer *head,stu;

int del_num;*/

printf("1 creat 2 print 3 delete 4 insert 5 findonde 0 exitn");

/*菜单的实现*/

scanf("%d",&b);

switch(b)

{

case 1:

{

/*clrscr();*/

printf("Please Input bianhao and data:n");

printf("for example 1,90 0,0 to exit:n");

head=creat();

}break;

case 2:

{

/*clrscr();*/

print(head);

}break;

case 3:

{

/*clrscr();*/

printf("nInput the deleted biaohao:");

scanf("%d",&del_num);

head=del(head,del_num);

}break;

case 4:

{

/*clrscr();*/

printf("nInput the inserted biaohao and zhengshu:");

scanf("%d,%d",&stu.num,&stu.zhengshu);

head=insert(head,&stu);

}break;

case 5:

{

/*clrscr();*/

printf("Please Input the bianhao you want to find:");

scanf("%d",&fin_num);

head=findnode(head,fin_num);

}break;

case 0:

{

return;

}break;

default:

printf("Input error! Please input againn");

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有