欢迎来到天天文库
浏览记录
ID:26696016
大小:3.26 MB
页数:30页
时间:2018-11-28
《[精品]数据结构(Java版)线性表的实现与~应用完整版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.实验报告课程名称数据结构实验项目线性表的实现及应用实验仪器PC机一台学院_____专业班级/学号姓名实验日期成绩指导教师.北京信息科技大学信息管理学院(数据结构课程上机)实验报告专业:班级:学号:姓名:成绩:实验名称线性表的实现及应用实验地点实验时间1.实验目的:(1)理解用顺序表实现线性表的特点;熟练掌握顺序表的基本操作;学会利用顺序表解决实际应用问题。(2)熟练掌握单链表的使用;理解用链表实现线性表的特点;了解链表的多种形式;学会利用单链表解决实际应用问题。2.实验要求:(1)学时为8学时;(2)能在机器上正确、调试运行程序;(3)本
2、实验需提交实验报告;(4)实验报告文件命名方法:数据结构实验_信管16xx_学号_姓名.doc。3.实验内容和步骤:第一部分顺序表的实现与应用(1)基于顺序表实现线性表的以下基本操作:publicinterfaceLList{//线性表接口,泛型参数T表示数据元素的数据类型booleanisEmpty();//判断线性表是否空intsize();//返回线性表长度Tget(inti);//返回第i(i≥0)个元素voidset(inti,Tx);//设置第i个元素值为xvoidinsert(inti,Tx);//插入x作为第i个元素v
3、oidinsert(Tx);//在线性表最后插入x元素Tremove(inti);//删除第i个元素并返回被删除对象intsearch(Tkey);//查找,返回首次出现的关键字为key的元素的位序voidremoveAll();//删除线性表所有元素publicStringtoString();//返回顺序表所有元素的描述字符串,形式为“(,)”}要求:实现后应编写代码段对每个基本操作做测试。.(2)顺序表的简单应用a)运用基本操作编写算法删除第i个开始的k个元素。b)编写高效算法删除第i个开始的k个元素。c)将两个顺序表合并为一个顺序表
4、(表中元素有序);d)若两个元素按值递增有序排列的顺序表A和B,且同一表中的元素值各不相同。试构造一个顺序表C,其元素为A和B中元素的交集,且表C中的元素也按值递增有序排列;(3)利用顺序表解决约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。要求:输出出列次序。第二部分单链表的实现与应用(4)基于单链表实现线性表的以下基本操作(不需要建立接口,直接建立带头结点的单链表类):
5、ADTList{booleanisEmpty();//判断线性表是否空intsize();//返回线性表长度Tget(inti);//返回第i(i≥0)个元素voidset(inti,Tx);//设置第i个元素值为xNodeinsert(inti,Tx);//插入x作为第i个元素Nodeinsert(Tx);//在线性表最后插入x元素Tremove(inti);//删除第i个元素并返回被删除对象voidremoveAll();//删除线性表所有元素Nodesearch(Tkey);//查找,返回首次出现的关键字为ke
6、y元素publicStringtoString();//返回顺序表所有元素的描述字符串,形式为“(,)”}要求:实现后应编写代码段对每个基本操作做测试。(5)实现单链表的子类排序单链表,覆盖单链表如下方法:voidset(inti,Tx);//设置第i个元素值为xNodeinsert(inti,Tx);//插入x作为第i个元素Nodeinsert(Tx);//在线性表最后插入x元素Nodesearch(Tkey);//查找,返回首次出现的关键字为key元素.(6)基于排序单链表实现线性表的以下综合应用:a)删除第i个开始的
7、k个元素。b)删除递增有序单链表中所有值大于mink且小于maxk的元素。c)将两个单链表合并为一个单链表,保持有序。d)若两个元素按值递增有序排列的单链表A和B,且同一表中的元素值各不相同。试构造一个单链表C,其元素为A和B中元素的交集,且表C中的元素也按值递增有序排列。要求利用原有链表中的元素。(7)一元多项式的基本运算用排序单链表表示一元多项式,并实现以下基本运算:l一元多项式的建立l一元多项式的减法运算(要求:在运算过程中不能创建新结点即A=A-B)(8)备份自己程序1.实验准备:复习教材第2章线性表的知识点熟悉Java编程环境提前
8、熟悉实验内容,设计相关算法.1.实验过程:第一部分:(1)packageex1;publicinterfaceLList{//线性表接口,泛型参数T表示数据元素的数据类型b
此文档下载收益归作者所有