实验一顺序表验证实验

上传人:s9****2 文档编号:504485908 上传时间:2024-02-26 格式:DOC 页数:6 大小:42.50KB
返回 下载 相关 举报
实验一顺序表验证实验_第1页
第1页 / 共6页
实验一顺序表验证实验_第2页
第2页 / 共6页
实验一顺序表验证实验_第3页
第3页 / 共6页
实验一顺序表验证实验_第4页
第4页 / 共6页
实验一顺序表验证实验_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验一顺序表验证实验》由会员分享,可在线阅读,更多相关《实验一顺序表验证实验(6页珍藏版)》请在金锄头文库上搜索。

1、实验一顺序表操作验证、实验目的掌握线性表的顺序存储结构; 验证顺序表及其基本操作的实现; 掌握数据结构及算法的程序实现的基本方法。、实验内容 建立含有若干个元素的顺序表; 对已建立的顺序表实现插入、删除、查找等基本操作。、设计与编码(a) 本实验用到的理论知识首先定义顺序表的数据类型一一顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。(b) 算法设计const int MaxSize =10; template class SeqListpublic:SeqList( ) length=O; SeqList( T a

2、, int n ); void Insert (int i, T x ); T Delete(int i); int Locate (T x );void PrintList ();private:T dataMaxSize;int len gth;其次,建立含有/定义模板类SeqList/无参构造函数/有参构造函数/在线性表中第i个位置插入值为x的元素/删除线性表的第i个元素/按值查找,求线性表中值为x的元素序号/遍历线性表,按序号依次输岀各元素存放数据元素的数组 线性表的长度n个数据元素的顺序表,即设计构造函数。算法如下:顺序表有参构造函数SeqList template throw 参数

3、非法;)SeqList: SeqList (T a , int n ) if (nMaxSize) for (i=0; in; i+ datai=ai;len gth=n;最后,对建立的顺序表设计插入、删除、查找等基本操作的算法。 插入算法顺序表插入算法In serttemplate void SeqList:lnsert (int i, T x )if (length=MaxSize ) throw 上溢”;if (ilength+1 ) throw 位置;for ( j=length; j=i; j -)dataj=dataj -1;/注意第j个元素存在数组下标为 j-1处datai- 1

4、=x;len gth+;删除算法顺序表删除算法 Delete template T SeqList:Delete (int i)if (length=0) throw 下溢;if (ilength ) throw 位置;x=datai -1;for (j=i; jle ngth; j+ )dataj- 1=dataj;/注意此处j已经是元素所在的数组下标length-; return x;查找算法顺序表按值查找算法Locate template int SeqList:Locate (T x)for (i=0; ilength; i+ )if (datai=x ) return i+1;/下标

5、为i的元素等于x,返回其序号i+1return 0;/退出循环,说明查找失败(c) 编码#in clude #in clude using n amespace std; const int MaxSize=50; class SeqList public:SeqList()length=0;SeqList(char a,int n) if(nMaxSize)throw 参数非法 ; for(int i=0;in;i+) datai=ai;length=n; SeqList() int Length()return length; char Get(int i) if(ilength)thro

6、w 查找位置非法 else return datai-1;int Locate(char x)for(int i=0;i=MaxSize)throw上溢 ;if(ilength+1)throw位置 ;for(int j=length;j=i;j-) dataj=dataj-1;datai-1=x;length+;char Delete(int i)if(length=0) throw 下溢 ;if (ilength) throw 位置 ; char x=datai-1;for (int j=i; jlength; j+) dataj-1=dataj;length-;return x;void

7、PrintList()for(int i=0;ilength;i+)coutdataiendl;private:char dataMaxSize;int length;void main()int xh1,xh2,xh3;char x10,xm1,xm2;cout 输入需要记录的数据: endl;for(int i=0;ixi;SeqList studentx(x,10);cout 表长为: studentx.Length()endl;coutxh1;cout 查找的数据为: studentx.Get(xh1)endl;coutxm1;cout 该数据位置为: studentx.Locate(

8、xm1)endl;coutxh2;coutxm2;studentx.Insert(xh2,xm2);coutxh3;cout 删除结果为: studentx.Delete(xh3)endl;cout 输出数据: endl;studentx.PrintList();五、运行与调试(a) 在调试程序的过程中遇到什么问题,是如何解决的?数据类型定义错误,将 int 改为 char 解决。 * EgDebugVdfre.exe*输入需要记录的数据: thoCHYUsnl 表长为主10输入数据位負:5査找的数据为:H输入需要杳找的数据;H 该数据也置为;5添加数据*输入它置:5 输入数擔:P删除数据輸入位豈;8 删除结果为! U输出数据:iiPress any key to cont i aue搜狗拼音输入法全:输入需易记录的数播: thoCHYUsnl表圧为主10输入数据位負:5査找的数据為:H 输入需要杳找的数据;H 该数据住置为;5添加数振,输入住豈:5 输入数推:P删除数据,肅入准豈;8 删除结果为:U输出数据:IPress any key to cont inue捜狗拼音输入法全:六、实验小结由于有上学期学习C+语言的基础,所以本次试验比较容易,主要是通过实验过程掌握线性表的顺序存储结构,验证顺序表及其基本操作的实现以及掌握数据结构及 算法的程序实现的基本方法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号