实验一顺序表操作验证一、实验目的⑴掌握线性表的顺序存储结构;⑵验证顺序表及其基本操作的实现;⑶掌握数据结构及算法的程序实现的基本方法
二、实验内容⑴建立含有若干个元素的顺序表;⑵对已建立的顺序表实现插入、删除、查找等基本操作
三、设计与编码(a)本实验用到的理论知识首先定义顺序表的数据类型一一顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素
(b)算法设计constintMaxSize=10;template//定义模板类SeqListclassSeqList{顺序表data[i-1]=x;length++;}⑵删除算法顺序表删除算法DeletetemplateTSeqList::Delete(inti){if(length==0)throw"下溢";if(ilength)throw"位置";x=data[i-1];for(j=i;jvlength;j++)data[j-1]=data[j];//注意此处j已经是元素所在的数组下标length—;returnx;}⑶查找算法顺序表按值查找算法LocatetemplateintSeqList::Locate(Tx){for(i=0;ivlength;i++)if(data[i]==x)returni+1;〃下标为i的元素等于x,返回其序号i+1return0;〃退出循环,说明查找失败}(c)编码#include#includeusingnamespacestd;constintMaxSize=50;classSeqList{public:SeqList(){length=0;}SeqList(chara[],intn){if(n〉MaxSize)throw"参数非法";for(inti=0;i>xm2;studentx
Insert(xh2,xm2);c