


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告 实验二 线性表的链式表示和实现一、 实验目的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人备考考试题库附答案解析
- 2025农业农村部在京事业单位招聘43人考试参考试题及答案解析
- 广安市华蓥市2025年下半年“小平故里英才计划”引进急需紧缺专业人才考试参考试题及答案解析
- 2025山东济宁学院招聘二级学院院长3人备考考试题库附答案解析
- 2025年河北唐山芦台经济开发区高校毕业生临时公益性岗位招聘备考考试题库附答案解析
- 济南市教育局所属学校公开招聘2026届部属公费师范毕业生(163人)笔试参考题库附答案解析
- 2025江苏南通市机关事务管理局招聘政府购买服务岗位人员1人笔试备考试题及答案解析
- 2025年山东省水利工程建设监理有限公司公开招聘(8人)备考考试题库附答案解析
- 中医推拿健康宣教课件
- 3山东八年级物理第一学期期中考试试题以及答案(适合沪科版)
- GB/T 45953-2025供应链安全管理体系规范
- 第十三章 三角形 单元试卷(含答案) 2025-2026学年人教版数学八年级上册
- 《数据库原理》课件第2章建立数据模型
- 产程干预的医学指征课件
- 【课件】选择健康的生活方式+课件-2025-2026学年人教版2024八年级上册生物
- 2024年辽宁轨道交通职业学院单招《英语》真题含完整答案详解【易错题】
- 2025年picc置管与维护临床护理实践指南
- JJF 2257-2025大气挥发性有机物在线监测仪校准规范
- 2025年浙江省中考科学试题卷(含答案解析)
- 【课件】第十四章第四节跨学科实践:制作简易热机模型+2025-2026学年人教版九年级物理
- 家电清洗培训
评论
0/150
提交评论