欢迎来到天天文库
浏览记录
ID:38798057
大小:185.50 KB
页数:6页
时间:2019-06-19
《线性表顺序存储运算的算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、名字:庄智(201050405802)上机实习一一,题目:线性表顺序存储运算的算法实现二,实验目的:1.掌握线性表顺序存储结构的C语言描述2.体会last域在算法实现所起的作用3.理解合理的存储结构设计与算法实现的存在的关系。建立含有若干元素的顺序表,对刚建立的顺序表实现插入、删除、输出的操作,界面为菜单形式。三,程序功能和功能层次图:主函数调用菜单函数调用创建函数调用插入函数调用删除函数调用输出函数程序结束1、(菜单)主程序;2、表的建立及初始化;3、表的数据插入;4、表的数据删除;5、表的数据输出;功能层次图为:名字:庄智(201050405802)
2、四,运行结果创建线性表插入线性表插入以后的结果表、、、、删除线性表删除以后的结果名字:庄智(201050405802)插入错误删除错误五,小结在做这个程序的时候,虽然遇到一些问题,但最后都被我解决,自信心上得到比较大的提升,这也是这次实践最大的收获。同时,知识上的收获也是不可忽视的,亲手解决问题的过程也是很好的学习过程,并且积累了一些经验,相信会为以后的学习发展带来非常积极的帮助。源代码:#include#include#includetypedefintdatatype;#definemaxsi
3、ze1024typedefstruct{名字:庄智(201050405802)datatypedata[maxsize];intlast;}sequenlist;charcaidan(){charch;do{printf("1:createlist");printf("2:inserttolist");printf("3:delete");printf("4:displaylist");printf("5:exit");printf("Pleasechoose:");}while(ch=getch(),ch!='1'&&ch!='2'
4、&&ch!='3'&&ch!='4'&&ch!='5');return(ch);}intINSERT(sequenlist*L,intx,inti){intj;if(L->last>=maxsize-1){printf("overflow");getch();returnNULL;}else{if(i<1
5、
6、i>L->last+1){printf("error");getch();returnNULL;}else{for(j=L->last;j>=i-1;j--)L->data[j+1]=L->data[j];L->data[i-1]=x;L->
7、last=L->last+1;printf("InsertSucceed");getch();}return(1);}}intDELETE(sequenlist*L,inti){intj;if(i<1
8、
9、i>L->last+1){printf("error");getch();returnNULL;名字:庄智(201050405802)}else{for(j=i;j<=L->last;j++)L->data[j-1]=L->data[j];L->last--;printf("DeleteSucceed");getch();}retur
10、n(1);}intINPUT(sequenlist*L){intn,i,j=1;printf("Pleaseinputnumberofdata:");scanf("%d",&n);for(i=0;idata[i]);}return(n-1);}voidDISPLAY(sequenlist*L,intn){inti,j=1;for(i=0;idata[i]);}voidmain(
11、){sequenlist*L;charch;inti,x;clrscr();do{clrscr();ch=caidan();printf("%c",ch);getch();printf("");switch(ch){case'1':L->last=INPUT(L);printf("Listwascreatedsuccessfully");getch();break;case'2':DISPLAY(L,(*L).last+1);printf("");名字:庄智(201050405802)printf("Pleaseinputindexuwant
12、toinsert:");scanf("%d",&i);printf("Pleas
此文档下载收益归作者所有