全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告 实验二 线性表的链式表示和实现一、 实验目的1. 掌握线性表的单链表存储结构2. 掌握单链线性表合并算法。二、 实验内容已知单链线性表La和Lb的元素按值非递减排列,归并La和Lb得到新的顺序线性表Lc,Lc的元素也按值非递减排列。(算法2.12)三、 实验步骤:1. 创建线性表La和Lb。2. 合并La和Lb得到Lc。3. 输出La、Lb、Lc。四、 算法说明 建立带结点的空单链表,输入元素的值。用void MergeList(LinkList La,LinkList &Lb,LinkList &Lc)函数将La和Lb归并,首先比较La和Lb中元素的大小,然后逐个插入。当一个链表为空时,只需将另一个链表剩下的元素插入结点后面即可。最后用void Printf_L(LinkList&L)函数将La,Lb和Lc中的元素输出。五、 测试结果 六、 分析与探讨 1:从上面的测试结果可以看出,在归并单链表La,Lb时,首先是比较链表中元素值的大小,从小到大的顺序插入,当一个链表为空时,只需将另一个链表剩下的元素插入结点后面即可。 2:在输入La和Lb链表中的元素并输出时没涉及到将元素值按一定的顺序排序。 3:在输入链表La和Lb的元素时是非递增非递减的顺序,在当输出归并后Lc中的元素能按照一定的顺序输出七、 附录:源代码源代码列在附录中,要求程序风格清晰易理解,有充分的注释。有意义的注释行不少于30%。#include#includetypedef int ElemType; / 定义ElemType为整型typedef struct LNodeElemType data;struct LNode *next;LNode,*LinkList;void CreateList(LinkList &L,int n) / 正位序(结点插在表尾)输入n个元素的值,建立带表头结点的单链线性表Lint i;LinkList p,q;L=(LinkList)malloc(sizeof(LNode); / 生成头结点L-next=NULL; / 先建立一个带头结点的空单链表q=L; / q指向空表的头结点(相当于尾结点)printf(请输入%d个数据n,n);for(i=1;idata); / 给新结点输入元素值q-next=p; / 将新结点插在表尾q=q-next; / q指向尾结点p-next=NULL; / 最后一个结点的指针域为空void MergeList(LinkList La,LinkList &Lb,LinkList &Lc) / 算法2.12 / 已知单链线性表La和Lb的元素按值非递减排列。/ 归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列。(销毁Lb,Lc即新的La)LinkList pa=La-next,pb=Lb-next,pc; / pa、pb分别指向La、Lb的首元结点(待比较结点)Lc=pc=La; / 用La的头结点作为Lc的头结点,pc指向La的头结点(Lc的尾结点)while(pa&pb) / La和Lb中的元素都未比较完if(pa-datadata) / La的当前元素不大于Lb的当前元素 pc-next=pa; / 将pa所指结点归并到Lc中pc=pa; / pc指向表Lc的最后一个结点pa=pa-next; / 表La的下一个结点成为待比较结点else / Lb的当前元素小于La的当前元素 pc-next=pb; / 将pb所指结点归并到Lc中pc=pb; / pc指向表Lc的最后一个结点pb=pb-next; / 表Lb的下一个结点成为待比较结点pc-next=pa?pa:pb; / 插入剩余段free(Lb); / 释放Lb的头结点Lb=NULL; / Lb不再指向任何结点void Printf_L(LinkList&L)LNode*p;p=L-next;while(p!=NULL)printf(%d ,p-data);p=p-next;printf(n);void main()int n=5;LinkList La,Lb,Lc;printf(按非递减顺序,);CreateList(La,n); / 根据输入顺序,正位序建立线性表printf(按非递减顺序,);CreateList(Lb,n); / 根据输入顺序,逆位序建立线性表printf(La=);Printf_L(La); / 输出链表La的内容printf(Lb=);Printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市景观提升改造工程经济效益和社会效益分析报告
- 2025山东广饶经济开发区所属国有公司招聘13人笔试历年典型考点题库附带答案详解试卷3套
- 2025安徽安庆市潜山市潜润国有资本投资运营集团有限公司招聘(第二批)综合笔试历年常考点试题专练附带答案详解试卷3套
- 污水处理厂尾水深海排放工程环境影响报告书
- 输电线路迁改项目环境影响评估方案
- 老旧小区改造及城市更新工程节能评估报告
- 2025中国出口信用保险公司校园招聘100人笔试历年备考题库附带答案详解试卷3套
- 丰城市公务员考试熊熙试题及答案
- 法律硕士参加公务员考试试题及答案
- 2025年及未来5年市场数据中国小儿退热口服液行业市场深度调查及发展前景研究预测报告
- 复旦大学全面介绍
- 糖尿病患者饮食指导及健康宣教
- 电气开关知识培训课件
- 人工智能+智慧环保水质监测与分析系统研究报告
- “泰山杯”山东省网络安全职业技能竞赛理论试题及答案
- 印刷安全培训课件
- 2025年及未来5年中国家政服务市场运行态势及行业发展前景预测报告
- 掌控安全培训课件
- 老年病的中西医结合治疗
- 2024郑州工业安全职业学院教师招聘考试真题及答案
- DB65T 3321-2011 沙冬青栽培技术规程
评论
0/150
提交评论