实验报告__线性表

实验报告__线性表

ID:47604262

大小:109.00 KB

页数:14页

时间:2019-09-27

实验报告__线性表_第1页
实验报告__线性表_第2页
实验报告__线性表_第3页
实验报告__线性表_第4页
实验报告__线性表_第5页
资源描述:

《实验报告__线性表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、...姓名王倩学号1104180204班级计科1102年级1102级指导教师李翠西安财经学院信息学院《算法与数据结构》实验报告实验名称线性表实验室实验日期参考学习...顺序表的基本运算一、实验目的1.掌握线性表的顺序存储结构(顺序表)的含义与实现方法;2.熟练掌握线性表在顺序存储结构上的插入、删除、查找等操作。二、实验相关理论及内容1.实验相关理论①线性表是最简单、最基本也是最常用的一种线性结构。线性表有两种存储方法:顺序存储和链式存储。线性表的基本操作是插入、删除和检索等。②了解有关顺序表的概念和性质;掌握线性表的基本操作的原理以及实现其的算法。2

2、.实验内容编写实现顺序表的基本算法(初始化、查找、插入、删除等)的函数,并在此基础上设计一个主程序完成如下功能:⑴初始化顺序表L;⑵建立顺序表L,如(a,b,c,d,c);⑶输出顺序表L的长度;⑷输出顺序表L的第i个元素,如第3个元素;⑸输出给定元素的位置,如输出元素a的位置;⑹在第i个元素前插入给定元素,如在第4个元素前插入元素f;⑺删除顺序表L的第i个元素,如删除顺序表L的第3个元素。注:最好编写输出顺序表L的函数供主程序调用,以检验⑵⑹⑺操作是否成功。三、实验环境WindowsXP2007,VisualC++6.0四、实验步骤(必须包括代码描述

3、)Ⅰ.插入元素在顺序表的某个位置,首先是要查看该位置是否合理,假如顺序表中有n个元素,要插入元素在第i个位置,那么插入的位置i应当在第1与第n+1个元素位置之间,然后利用插入算法,将第n个元素一直到原第i个元素依次后移,腾出一个空位,将新数据插入在该位置,最后将顺序表的表长加1;Ⅱ.删除顺序表中的元素,首先仍然要判断要删除元素是否在顺序表的合理位置,若是合理位置,则将包括该元素在内的后面所有元素依次向前前移,直接用后继覆盖直接前驱,最后将顺序表的表长减1;Ⅲ.查找某个元素是否在顺序表中,则可以利用顺序查找的方法,从第一个元素开始依次将元素关键字的值与

4、给定元素关键字的值进行比较,若相等则返回该元素在顺序表中的位置,若不相等则返回值为空。实现代码⑴.顺序表的初始化(构造一个空表)SeqList*init_SeqList()参考学习...{SeqList*L;L=(SeqList*)malloc(sizeof(SeqList));L->last=-1;returnL;}设调用函数为主函数。主函数对初始化函数的调用如下:main(){SeqList*L;L=init_SeqList();…}(2)插入运算intInsert_SeqList(SeqList*L,inti,datatypex){intj;i

5、f(L->last==MAXSIZE-1){printf("tableisfull!");return(-1);}if(i<1

6、

7、i>(L->last+2)){printf("placeiswrong!");return(0);}for(j=L->last;j>=i-1;j--)L->data[j+1]=L->data[j];L->data[i-1]=x;L->last++;return(1);}⑶.删除运算参考学习...intDelete_SeqList(SeqList*L,inti){intj;if(i<1

8、

9、i>(L->last+1)){pri

10、ntf("thiselementdon'texist!");return(0);}for(j=i;j<=L->last;j++)L->data[j-1]=L->data[j];L->last--;return(1);}然后依次输出计算结果。一、实验数据记录及分析(可包括错误提示,原因,如何解决等)参考学习...参考学习...一、实验总结参考学习...上机实验创建了一个顺序表,并且熟练的掌握了线性存储结构的完成了在顺序表上的插入元素,删除元素,按值查找。通过元素的存储顺序反映线性表中数据元素之间的逻辑关系;可随机存取顺序表的元素;顺序表的插入、删除操作

11、要通过移动元素实现。七、代码清单#includetypedefstruct{chars[10];intlast;}Seqlist;voidinitlist(Seqlist*l)//初始化线性表{l->last=(-1);}voidcreat(Seqlist*l)//创建线性表{charch;ch=getchar();while(ch!='#'){l->last=l->last+1;l->s[l->last]=ch;ch=getchar();}}voidlocatdisply(Seqlist*l,intn)//输出指定位置的元素{in

12、tlog=0;while(log!=n&&loglast){log++;}printf("%c"

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

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

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