实验一 顺序表操作验证
一、实验目的
⑴ 掌握线性表的顺序存储结构; ⑵ 验证顺序表及其基本操作的实现;
⑶ 掌握数据结构及算法的程序实现的基本方法。
二、实验内容
⑴ 建立含有若干个元素的顺序表;
⑵ 对已建立的顺序表实现插入、删除、查找等基本操作。
三、设计与编码
(a)本实验用到的理论知识
首先定义顺序表的数据类型——顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。 (b)算法设计
const int MaxSize=10;
template public: SeqList( ){length=0;} //无参构造函数 SeqList(T a[ ], int n); //有参构造函数 void Insert(int i, T x); //在线性表中第i个位置插入值为x的元素 T Delete(int i); //删除线性表的第i个元素 int Locate(T x ); //按值查找,求线性表中值为x的元素序号 void PrintList( ); //遍历线性表,按序号依次输出各元素 private: T data[MaxSize]; //存放数据元素的数组 int length; //线性表的长度 }; 其次,建立含有n个数据元素的顺序表,即设计构造函数。算法如下: 顺序表有参构造函数SeqList template 顺序表插入算法Insert template 顺序表删除算法Delete template for (i=0; i return 0; //退出循环,说明查找失败 } (c)编码 #include 线性表 const int MaxSize=50; class SeqList{ public: SeqList(){length=0;} SeqList(char a[],int n){ if(n>MaxSize)throw\"参数非法\"; for(int i=0;i if (i<1||i>length) throw \"位置\"; char x=data[i-1]; for (int j=i; j for(int i=0;i (a) 在调试程序的过程中遇到什么问题,是如何解决的? 数据类型定义错误,将int改为char解决。 线性表 (b) 设计了哪些设计数据?测试结果是什么? (c) 程序运行的结果如何? 顺序表 六、实验小结 由于有上学期学习c++语言的基础,所以本次试验比较容易,主要是通过实验过程掌握线性表的顺序存储结构,验证顺序表及其基本操作的实现以及掌握数据结构及算法的程序实现的基本方法。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务