线性表实验一顺序表操作验证1.实验目的⑴掌握线性表的顺序存储结构;⑵验证顺序表及其基本操作的实现;⑶掌握数据结构及算法的程序实现的基本方法。2.实验内容⑴建立含有若干个元素的顺序表;⑵对已建立的顺序表实现插入、删除、查找等基本操作。3.实现提示首先定义顺序表的数据类型——顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。constintMaxSize=10;template//定义模板类SeqListclassSeqList{public:SeqList(){length=0;}//无参构造函数SeqList(Ta[],intn);//有参构造函数voidInsert(inti,Tx);//在线性表中第i个位置插入值为x的元素TDelete(inti);//删除线性表的第i个元素intLocate(Tx);//按值查找,求线性表中值为x的元素序号voidPrintList();//遍历线性表,按序号依次输出各元素private:Tdata[MaxSize];//存放数据元素的数组intlength;//线性表的长度};其次,建立含有n个数据元素的顺序表,即设计构造函数。算法如下:templateSeqList::SeqList(Ta[],intn){if(n>MaxSize)throw"参数非法";for(i=0;iSeqList::SeqList(Ta[],intn){if(n>MaxSize)throw"参数非法";for(i=0;ivoidSeqList::Insert(inti,Tx){if(length>=MaxSize)throw"上溢";if(i<1||i>length+1)throw"位置";for(j=length;j>=i;j--)data[j]=data[j-1];//注意第j个元素存在数组下标为j-1处data[i-1]=x;length++;}templatevoidSeqList::Insert(inti,Tx){if(length>=MaxSize)throw"上溢";if(i<1||i>length+1)throw"位置";for(j=length;j>=i;j--)data[j]=data[j-1];//注意第j个元素存在数组下标为j-1处data[i-1]=x;length++;}顺序表插入算法Insert顺序表插入算法InserttemplateTSeqList::Delete(inti){if(length==0)throw"下溢";if(i<1||i>length)throw"位置";x=data[i-1];for(j=i;jTSeqList::Delete(inti){if(length==0)throw"下溢";if(i<1||i>length)throw"位置";x=data[i-1];for(j=i;jintSeqList::Locate(Tx){for(i=0;iintSeqList::Locate(Tx){for(i=0;i