欢迎来到天天文库
浏览记录
ID:49547647
大小:146.50 KB
页数:6页
时间:2020-03-02
《实验一.顺序表验证实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.实验一顺序表操作验证一、实验目的⑴掌握线性表的顺序存储结构;⑵验证顺序表及其基本操作的实现;⑶掌握数据结构及算法的程序实现的基本方法。二、实验内容⑴建立含有若干个元素的顺序表;⑵对已建立的顺序表实现插入、删除、查找等基本操作。三、设计与编码(a)本实验用到的理论知识首先定义顺序表的数据类型——顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。(b)算法设计constintMaxSize=10;template//定义模板类SeqListclassSeqList{public:Seq
2、List(){length=0;}//无参构造函数SeqList(Ta[],intn);//有参构造函数voidInsert(inti,Tx);//在线性表中第i个位置插入值为x的元素TDelete(inti);//删除线性表的第i个元素intLocate(Tx);//按值查找,求线性表中值为x的元素序号voidPrintList();//遍历线性表,按序号依次输出各元素private:Tdata[MaxSize];//存放数据元素的数组intlength;//线性表的长度};四、其次,建立含有n个数据元素的顺序表,即设计构造函数。算法如下:template3、>SeqList::SeqList(Ta[],intn){if(n>MaxSize)throw"参数非法";for(i=0;ivoidSeqList::Insert(inti,Tx){if(length>=MaxSize)throw"上溢";if(i<14、5、i>length+1)throw"位置";for(j=length;j>=i;j--)data[j]=data[j-1]6、;//注意第j个元素存在数组下标为j-1处data[i-1]=x;length++;}顺序表插入算法Insert⑵删除算法templateTSeqList::Delete(inti){if(length==0)throw"下溢";if(i<17、8、i>length)throw"位置";x=data[i-1];for(j=i;jintSeqList::Locat9、e(Tx){for(i=0;i#includeusingnamespacestd;范文..constintMaxSize=50;classSeqList{public:SeqList(){length=0;}SeqList(chara[],intn){if(n>MaxSize)throw"参数非法";for(inti=0;10、ilength)throw"查找位置非法";elsereturndata[i-1];}intLocate(charx){for(inti=0;i=MaxSize)throw"上溢";if(i<111、12、i>length+1)throw"位置"13、;for(intj=length;j>=i;j--)data[j]=data[j-1];data[i-1]=x;length++;}charDelete(inti){if(length==0)throw"下溢";if(i<114、15、i>length)throw"位置";charx=data[i-1];for(intj=i;j
3、>SeqList::SeqList(Ta[],intn){if(n>MaxSize)throw"参数非法";for(i=0;ivoidSeqList::Insert(inti,Tx){if(length>=MaxSize)throw"上溢";if(i<1
4、
5、i>length+1)throw"位置";for(j=length;j>=i;j--)data[j]=data[j-1]
6、;//注意第j个元素存在数组下标为j-1处data[i-1]=x;length++;}顺序表插入算法Insert⑵删除算法templateTSeqList::Delete(inti){if(length==0)throw"下溢";if(i<1
7、
8、i>length)throw"位置";x=data[i-1];for(j=i;jintSeqList::Locat
9、e(Tx){for(i=0;i#includeusingnamespacestd;范文..constintMaxSize=50;classSeqList{public:SeqList(){length=0;}SeqList(chara[],intn){if(n>MaxSize)throw"参数非法";for(inti=0;
10、ilength)throw"查找位置非法";elsereturndata[i-1];}intLocate(charx){for(inti=0;i=MaxSize)throw"上溢";if(i<1
11、
12、i>length+1)throw"位置"
13、;for(intj=length;j>=i;j--)data[j]=data[j-1];data[i-1]=x;length++;}charDelete(inti){if(length==0)throw"下溢";if(i<1
14、
15、i>length)throw"位置";charx=data[i-1];for(intj=i;j
此文档下载收益归作者所有