下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一顺序表操作验证、实验目的掌握线性表的顺序存储结构; 验证顺序表及其基本操作的实现; 掌握数据结构及算法的程序实现的基本方法。、实验内容 建立含有若干个元素的顺序表; 对已建立的顺序表实现插入、删除、查找等基本操作。、设计与编码(a) 本实验用到的理论知识首先定义顺序表的数据类型一一顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。(b) 算法设计const int MaxSize =10; template class SeqListpublic:SeqList( ) length=O; SeqList( T a
2、, int n ); void Insert (int i, T x ); T Delete(int i); int Locate (T x );void PrintList ();private:T dataMaxSize;int len gth;其次,建立含有/定义模板类SeqList/无参构造函数/有参构造函数/在线性表中第i个位置插入值为x的元素/删除线性表的第i个元素/按值查找,求线性表中值为x的元素序号/遍历线性表,按序号依次输岀各元素存放数据元素的数组 线性表的长度n个数据元素的顺序表,即设计构造函数。算法如下:顺序表有参构造函数SeqList template throw 参数
3、非法;)SeqList: SeqList (T a , int n ) if (nMaxSize) for (i=0; in; i+ datai=ai;len gth=n;最后,对建立的顺序表设计插入、删除、查找等基本操作的算法。 插入算法顺序表插入算法In serttemplate void SeqList:lnsert (int i, T x )if (length=MaxSize ) throw 上溢”;if (ilength+1 ) throw 位置;for ( j=length; j=i; j -)dataj=dataj -1;/注意第j个元素存在数组下标为 j-1处datai- 1
4、=x;len gth+;删除算法顺序表删除算法 Delete template T SeqList:Delete (int i)if (length=0) throw 下溢;if (ilength ) throw 位置;x=datai -1;for (j=i; jle ngth; j+ )dataj- 1=dataj;/注意此处j已经是元素所在的数组下标length-; return x;查找算法顺序表按值查找算法Locate template int SeqList:Locate (T x)for (i=0; ilength; i+ )if (datai=x ) return i+1;/下标
5、为i的元素等于x,返回其序号i+1return 0;/退出循环,说明查找失败(c) 编码#in clude #in clude using n amespace std; const int MaxSize=50; class SeqList public:SeqList()length=0;SeqList(char a,int n) if(nMaxSize)throw 参数非法 ; for(int i=0;in;i+) datai=ai;length=n; SeqList() int Length()return length; char Get(int i) if(ilength)thro
6、w 查找位置非法 else return datai-1;int Locate(char x)for(int i=0;i=MaxSize)throw上溢 ;if(ilength+1)throw位置 ;for(int j=length;j=i;j-) dataj=dataj-1;datai-1=x;length+;char Delete(int i)if(length=0) throw 下溢 ;if (ilength) throw 位置 ; char x=datai-1;for (int j=i; jlength; j+) dataj-1=dataj;length-;return x;void
7、PrintList()for(int i=0;ilength;i+)coutdataiendl;private:char dataMaxSize;int length;void main()int xh1,xh2,xh3;char x10,xm1,xm2;cout 输入需要记录的数据: endl;for(int i=0;ixi;SeqList studentx(x,10);cout 表长为: studentx.Length()endl;coutxh1;cout 查找的数据为: studentx.Get(xh1)endl;coutxm1;cout 该数据位置为: studentx.Locate(
8、xm1)endl;coutxh2;coutxm2;studentx.Insert(xh2,xm2);coutxh3;cout 删除结果为: studentx.Delete(xh3)endl;cout 输出数据: endl;studentx.PrintList();五、运行与调试(a) 在调试程序的过程中遇到什么问题,是如何解决的?数据类型定义错误,将 int 改为 char 解决。 * EgDebugVdfre.exe*输入需要记录的数据: thoCHYUsnl 表长为主10输入数据位負:5査找的数据为:H输入需要杳找的数据;H 该数据也置为;5添加数据*输入它置:5 输入数擔:P删除数据輸入位豈;8 删除结果为! U输出数据:iiPress any key to cont i aue搜狗拼音输入法全:输入需易记录的数播: thoCHYUsnl表圧为主10输入数据位負:5査找的数据為:H 输入需要杳找的数据;H 该数据住置为;5添加数振,输入住豈:5 输入数推:P删除数据,肅入准豈;8 删除结果为:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康医疗大数据平台建设运营隐私保护行业现状分析报告
- 制程异常原因追踪整改制度
- 2026陕西西北工业大学材料学院陶瓷复合材料热结构技术团队招聘1人备考题库含答案详解(夺分金卷)
- 2026浙江大学医学院附属妇产科医院曲凡课题组招聘博士后1名备考题库含答案详解ab卷
- 消防器材管理维护制度
- 2026陕西西安市西北工业大学生命科学与技术学院理论生态学团队招聘1人备考题库含答案详解(培优a卷)
- 2026北京昌平区妇幼保健院招聘事业单位工作人员4人备考题库附答案详解
- 2026湖南湘潭市韶山红旅教育培训集团有限公司招聘9人备考题库附答案详解(满分必刷)
- 可持续绿色能源技术研发与应用项目规模扩大及市场推广策略可行性研究报告
- 物业管理小区出入管理制度
- 5.2做自强不息的中国人 课 件(共20张)统编版道德与法治七年级下册
- 危险作业安全操作规范手册
- 高处作业安全培训2026年培训课件
- 中远海运重工有限公司招聘笔试题库2026
- 2026年深圳中考历史考前15天冲刺试卷(附答案可下载)
- 2026年中国移动电商业务经理的常见问题集
- 2026年中学生心理健康教育工作计划
- 高校课程考核题库建设及维护方案
- PIC-MCC程序手册资料
- 2025新加坡食品饮料行业市场现状供需研究方向投资评定产业规划分析报告
- 初中语文教材文言文课下注释
评论
0/150
提交评论