资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
班级:计算机 11-1 学号: 姓名: 成绩:_实验一 顺序表操作验证一、一、 实验目的实验目的1掌握线性表的顺序存储结构; 2验证顺序表及其基本操作的实现; 掌握数据结构及算法的程序实现的基本方法。二、二、 实验内容实验内容1 建立含有若干个元素的顺序表; 2 对已建立的顺序表实现插入、删除、查找等基本操作。三、三、 设计与编码设计与编码#include using namespace std; const int MaxSize=100; template /定义模板类 SeqList class SeqList public:SeqList()length=0; /无参构造函数SeqList(T a , int n); /有参构造函数SeqList() void Insert(int i, T x);/在线性表中第 i 个位置插入值为 x 的元 素T Delete(int i); /删除线性表的第 i 个元素int Locate(T x ); /按值查找,求线性表中值为 x 的元素序 号void PrintList( ); /遍历线性表,按序号依次输出各元素 private:T dataMaxSize; /存放数据元素的数组int length; /线性表的长度 ; /有参构造函数 template SeqList:SeqList(T a , int n) int i;if (nMaxSize) throw “参数非法“;for (i=0; i void SeqList:Insert(int i, T x) int j;if (length=MaxSize) throw “上溢“;if (ilength+1) throw “位置异常“; for (j=length; j=i; j-)dataj=dataj-1; /注意第 j 个元素存在数组下标为 j-1 处 datai-1=x; length+; /删除线性表的第 i 个元素 template T SeqList:Delete(int i) int x,j;if (length=0) throw “下溢“;if (ilength) throw “位置异常“;x=datai-1;for (j=i; j int SeqList:Locate(T x) int i;for (i=0; i void SeqList:PrintList() int i; couts1(a,10); int flag=1; menu(); while(flag) coutj; switch(j) case 1: coutix; s1.Insert(i,x); break; case 2: couti;s1.Delete(i);coutx;loc=s1.Locate(x);cout“所查数据所在:“loc“位“endl; break; case 4: s1.PrintList();break; case 5: flag=0;break; default: cout“错误!“endl;break; break; return 0;四、四、 运行与调试运行与调试a) 在调试程序的过程中遇到什么问题,是如何解决的? b) 设计了哪些设计数据?测试结果是什么? c)程序运行的结果如何?五、五、 实验小结实验小结顺序线性表是用一段地址连续的存储单元依次存储线性表的数据元素,通常用一组 数组来实现顺序表,是一种相对简单易懂的线性数据结构,了解线性表中数据被插 入删除位置后的移动方式及最后的操作,程序基本就完成了,编写比较容易且寻值 比链式快捷,但若是线性表中数据过多,插入删除操作后的数据移动将耗大量的时 间,而且空间利用率较差,这是顺序表的缺陷
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号