顺序表的基本操作--实验报告

顺序表的基本操作--实验报告

ID:43847970

大小:30.51 KB

页数:5页

时间:2019-10-15

顺序表的基本操作--实验报告_第1页
顺序表的基本操作--实验报告_第2页
顺序表的基本操作--实验报告_第3页
顺序表的基本操作--实验报告_第4页
顺序表的基本操作--实验报告_第5页
资源描述:

《顺序表的基本操作--实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告课程名称数据结构实验名称顺序表的基本操作日期2013-03-20学生学号B11050226姓名枯天蝎班级计算机二班实验目的:掌握线性表的基本操作:插入、删除、查找在顺序存储结构上的实现。实验条件:计算机一台、VisualC++6.0实验内容与算法思想:内容:建立一有序的顺序表,并实现下列操作:1、把元素x插入表中并保持有序;2.查找值为x的元素,若找到将其删除;2、输出表中各元素的值。算法思想:1、创建并初始化一个顺序表,通过循环,由键盘输入一串数据。2、创建主函数。3、编写算法,完成子函数模块。4、调用子函数,完成实验要求。运行结果:输入一串数字(如输入:12356),输

2、出“要插入的元素,位置为”;输入要插入的元素及位置(如:4,4),输出插入后的顺序表(123456),并提示输入要查找的元素(要查找的元素为);输入要查找的元素(如:3),如果该元素不在顺序表中则输出“该元素不存在”;若该元素在顺序表中则输出其所在位置(该元素所在位置的序号为3),并询问是否删除该元素(是否要删除该元素?<是请输入1,否请输入0>);输入1则删除该元素并输出删除后的顺序表(删除互殴的顺序表为:12456),输入0则不删除该元素,并输出“未删除该元素”。实验总结(结论或问题分析):1、程序编写时是以“-1”作为顺序表输入结束符号的,但是程序也将“-1”作为顺序表的最后

3、一个元素储存进顺序表。后增加一个判断语句if(L.elem[L.last]==-1)L.last--;解决了此问题。2、通过该次实验掌了握线性表的基本操作:插入、删除、查找在顺序存储结构上的实现。更深一步了解到算法在C语言程序中的使用及函数调用的方法。3、由于时间和个人能力所限,本次实验没没能完成对任意输入的一串字符进行识别判断,并按一定顺序存储的功能。另外,对时间复杂度方面的知识的掌握还不够,不能编写出最简练,效率最高的程序。实验成绩任课教师签名张红霞附:源程序:#include#defineMaxsize100#defineerror0#defineok1ty

4、pedefstruct{intelem[Maxsize];intlast;}SeqList;intInsList(SeqList*L,inta,inti);intLocate(SeqListL,inte);intDel(SeqList*L,inti);voidmain(){inti,e,a;intlist1,list2;SeqListL;L.last=0;for(i=0;i<100;i++){printf("请输入顺序表元素");scanf("%d",&L.elem[i]);if(L.elem[i]==-1)break;L.last++;}if(L.elem[L.last]==

5、-1)L.last--;printf("要插入的元素,位置为");scanf("%d,%d",&a,&i);list1=InsList(&L,a,i);if(list1){printf("插入后的顺序表为:");for(i=0;i<=L.last;i++)printf("%d",L.elem[i]);printf("");}elseprintf("插入失败!");printf("要查找的元素为");scanf("%d",&e);list2=Locate(L,e);if(!list2)printf("该元素不存在");elseprintf("该元素所在位置的序号为

6、:%d",list2);/*删除元素*/printf("是否要删除该元素?<是请输入1,否请输入0>");intm;scanf("%d",&m);if(m){Del(&L,list2);printf("删除后的顺序表为:");for(i=0;i<=L.last;i++)printf("%d",L.elem[i]);printf("");}elseprintf("未删除元素%d",e);}intInsList(SeqList*L,inta,inti)//i位置,下标i-1{intp;if(L->last>=Maxsize-1){printf("表已满,无法插入")

7、;return(error);}for(p=L->last;p>=i-1;p--)L->elem[p+1]=L->elem[p];L->elem[i-1]=a;L->last++;return(ok);}intLocate(SeqListL,inte){inti=0;while((i<=L.last)&&(L.elem[i]!=e))i++;if(i<=L.last)return(i+1);elsereturn(error);}intDel(SeqList*L,int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。