版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、张先宜实验二 单链表实验2.1 实验目的实验目的熟练掌握线性表的链式存储结构。熟练掌握线性表的链式存储结构。熟练掌握单链表的有关算法设计。熟练掌握单链表的有关算法设计。根据具体问题的需要,设计出合理的表示数据的根据具体问题的需要,设计出合理的表示数据的顺序结构,并设计相关算法。顺序结构,并设计相关算法。2.2 实验要求实验要求本次实验中的链表结构指本次实验中的链表结构指带头结点的单链表带头结点的单链表;单链表结构和运算定义,算法的实现以库文件方单链表结构和运算定义,算法的实现以库文件方式实现,不得在测试主程序中直接实现;式实现,不得在测试主程序中直接实现;实验程序有较
2、好可读性,各运算和变量的命名直实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求;观易懂,符合软件工程要求;程序有适当的注释。程序有适当的注释。2.3 实验任务实验任务F编写算法实现下列问题的求解。编写算法实现下列问题的求解。尾插法创建单链表,打印创建结果。尾插法创建单链表,打印创建结果。头插法创建单链表,打印创建结果。头插法创建单链表,打印创建结果。销毁单链表。销毁单链表。求链表长度。求链表长度。求单链表中第求单链表中第i个元素(函数),若不存在,报个元素(函数),若不存在,报错。错。F实验测试数据基本要求:实验测试数据基本要求:第一组数据:单链表长度第一组数据:单链表长度n
3、10,i分别为分别为5,n,0,n+1,n+2第二组数据:单链表长度第二组数据:单链表长度n=0,i分别为分别为0,2在第在第i个结点前插入值为个结点前插入值为x的结点。的结点。F实验测试数据基本要求:实验测试数据基本要求:第一组数据:单链表长度第一组数据:单链表长度n10,x=100, i分别为分别为5,n,n+1,0,1,n+2第二组数据:单链表长度第二组数据:单链表长度n=0,x=100,i=5链表中查找元素值为链表中查找元素值为x的结点,成功返回结点指的结点,成功返回结点指针,失败报错。针,失败报错。F实验测试数据基本要求:实验测试数据基本要求: F单链表元素为单链表元素为 (1,3,
4、6,10,15,16,17,18,19,20)Fx=1,17,20,88删除单链表中第删除单链表中第i个元素结点。个元素结点。F实验测试数据基本要求:实验测试数据基本要求:第一组数据:单链表长度第一组数据:单链表长度n10,i分别为分别为5,n,1,n+1,0 第二组数据:单链表长度第二组数据:单链表长度n=0, i=5在一个递增有序的单链表在一个递增有序的单链表L中插入一个值为中插入一个值为x的的元素,并保持其递增有序特性。元素,并保持其递增有序特性。F实验测试数据基本要求:实验测试数据基本要求:单链表元素为单链表元素为 (10,20,30,40,50,60,70,80,90,100),x分
5、别为分别为25,85,110和和8将单链表中的奇数项和偶数项结点分解开将单链表中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分别放入新的单链表(元素值为奇数、偶数),分别放入新的单链表中,然后原表和新表元素同时输出到屏幕上,以中,然后原表和新表元素同时输出到屏幕上,以便对照求解结果。便对照求解结果。F实验测试数据基本要求:实验测试数据基本要求:第一组数据:单链表元素为第一组数据:单链表元素为 (1,2,3,4,5,6,7,8,9,10,20,30,40,50,60)第二组数据:单链表元素为第二组数据:单链表元素为 (10,20,30,40,50,60,70,80,90,100)求两个递增
6、有序单链表求两个递增有序单链表L1和和L2中的公共元素,放入新的中的公共元素,放入新的单链表单链表L3中。中。F实验测试数据基本要求:实验测试数据基本要求: n第一组第一组F第一个单链表元素为第一个单链表元素为 (1,3,6,10,15,16,17,18,19,20)F第二个单链表元素为第二个单链表元素为 (1,2,3,4,5,6,7,8,9,10,18,20,30)n第二组第二组F第一个单链表元素为第一个单链表元素为 (1,3,6,10,15,16,17,18,19,20)F第二个单链表元素为第二个单链表元素为 (2,4,5,7,8,9,12,22)n第三组第三组F第一个单链表元素为第一个单
7、链表元素为 ()()F第二个单链表元素为第二个单链表元素为 (1,2,3,4,5,6,7,8,9,10)删除递增有序单链表中的重复元素,并统计移删除递增有序单链表中的重复元素,并统计移动元素次数,要求时间性能最好。动元素次数,要求时间性能最好。F实验测试数据基本要求:实验测试数据基本要求:第一组数据:单链表元素为第一组数据:单链表元素为 (1,2,3,4,5,6,7,8,9)第二组数据:单链表元素为第二组数据:单链表元素为 (1,1,2,2,2,3,4,5,5,5,6,6,7,7,8,8,9)第三组数据:单链表元素为第三组数据:单链表元素为 (1,2,3,4,5,5,6,7,8,8,9,9,9
8、,9,9)递增有序单链表递增有序单链表L1、L2,不申请新结点,利用原表结,不申请新结点,利用原表结点对点对2表进行合并,并使得合并后成为一个集合,合并后表进行合并,并使得合并后成为一个集合,合并后用用L1的头结点作为头结点,删除的头结点作为头结点,删除L2的头结点,要求时间性的头结点,要求时间性能最好。能最好。F实验测试数据基本要求:实验测试数据基本要求: n第一组第一组F第一个单链表元素为第一个单链表元素为 (1,3,6,10,15,16,17,18,19,20)F第二个单链表元素为第二个单链表元素为 (1,2,3,4,5,6,7,8,9,10,18,20,30)n第二组第二组F第一个单链
9、表元素为第一个单链表元素为 (1,3,6,10,15,16,17,18,19,20)F第二个单链表元素为第二个单链表元素为 (2,4,5,7,8,9,12,22)n第三组第三组F第一个单链表元素为第一个单链表元素为 ()()F第二个单链表元素为第二个单链表元素为 (1,2,3,4,5,6,7,8,9,10)2.4* 单链表扩展实验单链表扩展实验F非必做内容,有兴趣的同学选做,非必做内容,有兴趣的同学选做,(递增有序)单链表表示集合(递增有序)单链表表示集合A、B,实现:,实现:FC=A B,C=A B,C=A-BFA=A B,A=A B,A=A-B(递增有序)单链表表示集合(递增有序)单链表表
10、示集合A、B,判定,判定A是否是否B的子的子集。集。(2009)(15分)已知一个带有表头结点的单链表,结点分)已知一个带有表头结点的单链表,结点结构如下图。假设该链表只给出了头指针结构如下图。假设该链表只给出了头指针list。在不改变。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第中倒数第k个位置上的结点(个位置上的结点(k为正整数)。若查找成功,为正整数)。若查找成功,算法输出该结点的算法输出该结点的data值,并返回值,并返回1;否则,只返回;否则,只返回0。要。要求:求:(1)描述算法的基本设计思想)描述算法的基本设
11、计思想(2)描述算法的详细实现步骤)描述算法的详细实现步骤(3)根据设计思想和实现步骤,采用程序设计语言描述算法)根据设计思想和实现步骤,采用程序设计语言描述算法(使用(使用C 或或C+或或JAVA 语言实现),关键之处请给出简要语言实现),关键之处请给出简要注释。注释。datalink(2011)(15 分)一个长度为分)一个长度为L(L1)的升序序)的升序序列列S,处在第,处在第 个位置的数称为个位置的数称为S 的中位数。的中位数。例如,若序列例如,若序列S1=(11, 13, 15, 17, 19),则,则S1 的中的中位数是位数是15。两个序列的中位数是含它们所有元素。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若的升序序列的中位数。例如,若S2=(2, 4, 6, 8, 20),则,则S1 和和S2 的中位数是的中位数是11。 现有两个等长升序序列现有两个等长升序序列A 和和B,试设计一个,试设计一个在时间和空间两方面都尽可能高效的算法,找出在时间和空间两方面都尽可能高效的算法,找出两个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年办公室装修及改造合同
- 2024年临时聘用合同范本
- 2024年五方股权分配合同
- 2024年产品装配与交货合同
- 2024年兼职电工服务合同样本
- 2024年二手房售价确认协议
- 2024年二手房装修款买卖协议
- 2024年专利实施许可协议书:新技术应用
- 2024年企业他用车辆租赁合同
- 2024年创业团队股权激励计划:员工代持协议范本
- 20CS03-1一体化预制泵站选用与安装一
- 安全教育不咬手指头
- 湖北省阳新县枪弹山矿区建筑石料用石灰岩矿矿产资源开发利用与生态复绿方案
- Unit4ExploringLiteratureIntegratedskills话题作文与课文结合学案高中英语译林版
- 择校升学规划方案
- 大数据与流行病学
- 火灾自动报警系统检查表
- (复合附件版)房产居间合同范本(通用)
- 电力配网安全培训课件
- 关于乙醇的安全培训课件
- 建筑工程分部分项工程划分表(新版)
评论
0/150
提交评论