- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件技术基础上机编程
上机题一:线性表
建立单向链表;表长任意;
可交互输出单链表中的内容;
编写算法计算出自己所建单链表的长度并输出;
输出自己所建立单链表中的第K个结点,并将剩余结点输出;
将单链表倒排并输出结果
#includestdio.h
#includemalloc.h
typedef int datatype;
typedef struct node
{ datatype data;
struct node *next;
}linklist;
linklist *Creatlist() //建立链表//
{ int x;
linklist *h, *s;
h=NULL;
printf(\n please input the date end with 0:\n);
printf(\n Input data:);
scanf(%d,x);
while(x!=0)
{ s=malloc(sizeof(linklist));
s-data=x;
s-next=h;
h=s;
printf(\n Input data:);
scanf(%d,x);
}
return h;
}
void Putlist(linklist *h) //输出单链表中的内容//
{ linklist *s;
s=h;
while(s!=NULL)
{ printf(%4d,s-data);
s=s-next;
}
}
int Long(linklist *h) //计算链表的长度//
{ int i=0;
linklist *s;
s=h;
while(s!=NULL)
{ i++;
s=s-next;
}
return(i);
}
void Delete(linklist *h,int k) //删除链表中第k个结点//
{ int i=0;
linklist *p1,*p2;
p1=h;
if(k==1) { h=h-next;free(p1);}
else
{
while(ik-1p1!=NULL)
{
i++;
p2=p1;
p1=p1-next;
}
p2-next=p1-next;
free(p1);
}
}
linklist *Nixu(linklist *h) //逆序输出链表//
{ linklist *r,*q,*p;
r=h;
p=r-next;
q=p-next;
if(h==NULL)
printf(the linklist is empty\n); / /空表//
while(q!=NULLh!=NULL)
{p-next=r;
r=p;
p=q;
q=q-next;
}
h-next=NULL;
p-next=r;
return(p); //返回根结点//
}
main()
{ int k,x;
linklist *h;
do //输出菜单//
{ printf(\nqing shu ru ming ling:\n);
printf(1.jian li lian biao;\n);
printf(2.shu chu lian biao zhong de nei rong;\n);
printf(3.shu chu lian biao de chang du;\n);
printf(4.shan chu di K ge jie dian;\n);
文档评论(0)