- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性表的顺序储存结构
重庆交通大学
《算法与数据结构》课程
实验报告
班 级:计算机科学与技术2014级2班
实验项目名称: 线性表的顺序储存结构
实验项目性质:
实验所属课程: 算法与数据结构
实验室(中心): B01407
指 导 教 师 : 鲁云平
实验完成时间: 2016 年 3 月 21 日
实验目的
1、实现线性表的顺序存储结构
2、熟悉C++程序的基本结构,掌握程序中的头文件、实现文件和主文件之 间的相互关系及各自的作用
3、熟悉顺序表的基本操作方式,掌握顺序表相关操作的具体实现
二、实验内容及要求
对顺序存储的线性表进行一些基本操作。主要包括:
(1)插入:操作方式为在指定元素前插入、在指定元素之后插入、在指定 位置完成插入
(2)删除:操作方式可分为删除指定元素、删除指定位置的元素等,尝试 实现逻辑删除操作。
(3)显示数据
(4)查找:查询指定的元素(可根据某个数据成员完成查询操作)
(5)定位操作:定位指定元素的序号
(6)更新:修改指定元素的数据
(7)数据文件的读写操作等。
其它操作可根据具体需要自行补充。
要求线性表采用类的定义,数据对象的类型自行定义。
三、实验设备及软件
VC6.0
四、设计方案
㈠ 题目
线性表的顺序存储结构
㈡ 设计的主要思路
新建SeqList.h头文件,定义SeqList模板类
设计类数据成员,包括:T *data(用于存放数组)、int maxSize(最 大可容表项的项数)、int last(当前已存表项的最后位置)
设计类成员函数,主要包括:
int search(T x)const;//搜索x在表中位置,函数返回表项序号
int Locate(int i)const;//定位第i个表项,函数返回表项序号
bool getData(int i,T x)const;//去第i个表项的值
void setData(int i,T x)//用x修改第i个表项的值
bool Insert(int i,T x);//插入x在第i个表项之后
bool Remove(int i,T x); //删除第i个表项,通过x返回表项的值
bool IsEmpty();//判表空否,空则返回true;否则返回false
bool IsFull();//判表满否,满则返回true;否则返回false
void input(); //输入
void output();//输出
void ofile();/存储在文件中
void ifile();//读取文件并显示
㈢ 主要功能
建立新表
对表进行插入(指定元素前、后以及指定位置插入)、删除(指定 元素删除及指定位置删除)、修改等操作
显示当前操作表的全部内容
存储在文件中
从文件中读取表
五、主要代码
㈠SeqList.h中的主要代码:
类成员声明部分:
protected:
T *data; //存放数组
int maxSize; //最大可容纳表项的项数
int last; //当前已存表项的最后位置(从0开始)
void reSize(int newSize); //改变data数组空间大小
public:
SeqList(int sz = defaultSize); //构造函数
SeqList(SeqListT L); //复制构造函数
~SeqList(){delete[] data;} //析构函数
int Size()const{return maxSize;} //计算表最大可容纳表项个数
int Length()const{return last+1;} //计算表长度
int search(T x)const; //搜索x在表中位置,函数返回表项序号
int Locate(int i)const; //定位第i个表项,函数返回表项序号
bool getData(int i,T x)const //去第i个表项的值
{if(i0i=last+1){x=data[i-1];return true;}else return false;}
void setData(int i,T x) //用x修改第i个表项的值
{if(i0i=last+1) data[i-1]
您可能关注的文档
最近下载
- 小学、初中、高中、大学英语词汇合集.pdf
- 《宿曜经》汉译版本之汉化痕迹考证.pdf
- 《珍爱生命-远离毒品》PPT【精品课件】.pptx
- 标准图集-16G519-多高层民用钢节点详图.pdf VIP
- FG5-X绝对重力仪-劳雷LAUREL.PDF
- 湖北省武汉市2023-2024学年高二上学期期中考试英语试卷(含答案).docx VIP
- 第7课 难忘的岁月(课件)(共26张ppt)赣美版初中美术八年级上册.pptx VIP
- 第一节-金属的化学性质公开课一等奖优质课大赛微课获奖课件.pptx
- 儿童绘本故事《龟兔赛跑》PPT课件(可编辑带动画).ppt
- 新北师大版五年级上册数学第四单元《多边形的面积》知识点总结(全).docx VIP
文档评论(0)