实验一顺序表操作验证一、实验目的1掌握线性表的顺序存储结构;2验证顺序表及其基本操作的实现;⑶掌握数据结构及算法的程序实现的基本方法。二、实验内容1建立含有若干个元素的顺序表;2对已建立的顺序表实现插入、删除、查找等基本操作。三、设计与编码#includeusingnamespacestd;constintMaxSize=100;template//定义模板类SeqListclassSeqList{public:SeqList(){length=0;}//无参构造函数SeqList(Ta[],intn);//有参构造函数~SeqList(){}voidInsert(inti,Tx);//在线性表中第i个位置插入值为x的元素TDelete(inti);//删除线性表的第i个元素intLocate(Tx);//按值查找,求线性表中值为x的元素序号voidPrintList();//遍历线性表,按序号依次输出各元素private:Tdata[MaxSize];//存放数据元素的数组intlength;//线性表的长度};//有参构造函数templateSeqList::SeqList(Ta[],intn){inti;if(n>MaxSize)throw"参数非法";for(i=0;ivoidSeqList::Insert(inti,Tx){intj;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++;}//删除线性表的第i个元素templateTSeqList::Delete(inti){intx,j;if(length==0)throw"下溢";if(i<1||i>length)throw"位置异常";x=data[i-1];for(j=i;jintSeqList::Locate(Tx){inti;for(i=0;ivoidSeqList::PrintList(){inti;cout<<"------------------------------------";cout<s1(a,10);intflag=1;menu();while(flag){cout<<"请输入你需要的选项:";cin>>j;switch(j){case1:{cout<<"显示要插入的位序及数值:"<>i>>x;s1.Insert(i,x);break;}case2:{cout<<"输入元素所在位置:";cin>>i;s1.Delete(i);cout<<"删除数据后表变为:"<>x;loc=s1.Locate(x);cout<<"所查数据所在:"<