- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华中科技大学数据结构实验报告要点
课程实验报告课程名称:数据结构实验专业班级:信息安全201502学号:姓名:指导教师:报告日期: 2016年10月 28 日计算机科学与技术学院目录1基于顺序存储结构的线性表实现11.1问题描述11.2系统设计11.3系统实现11.4实验小结12 基于二叉链表的二叉树实现22.1问题描述22.2系统设计22.3系统实现22.4实验小结2指导教师评定意见3附录A 基于顺序存储结构线性表实现的源程序4附录B 基于二叉链表二叉树实现的源程序51基于顺序存储结构的线性表实现1.1问题描述采用顺序表的物理结构,构造一个具有菜单的功能演示系统。其中,在主程序中完成函数调用所需实参值的准备和函数执行结果的显示。定义了线性表的初始化表、销毁表、清空表、判定空表、求表长和获得元素等基本运算对应的函数,并给出适当的操作提示显示,可选择以文件的形式进行存储和加载,即将生成的线性表存入到相应的文件中,也可以从文件中获取线性表进行操作。1.1.1线性表的基本概念线性表是最常用且最简单的一种数据结构,即n个数据元素的有限序列。线性表中元素的个数n定义为线性表的长度,n=0时成为空表。在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素。线性表的存储结构分为线性存储和链式存储。1.1.2 逻辑结构与基本运算线性表的数据逻辑结构定义如下:ADT List{ 数据对象:D={ai|ai∈ElemSet,i=1,2,……,n,n≥0} 数据关系:R1={ ai-1,ai | ai-1,ai∈D,i=2,……,n} } 依据最小完备性和常用性相结合的原则,以函数形式定义了包括线性表的初始化表、加载表、保存表、销毁表、清空表、判定空表、求表长、获得元素、查找元素、获得前驱、获得后继、插入元素、删除元素、遍历表 14 个基本运算,要求分别定义函数来实现上述功能,具体功能运算如下:⑴初始化表:函数名称是InitaList(L);初始条件是线性表L不存在已存在;操作结果是构造一个空的线性表。⑵销毁表:函数名称是DestroyList(L);初始条件是线性表L已存在;操作结果是销毁线性表L。⑶清空表:函数名称是ClearList(L);初始条件是线性表L已存在;操作结果是将L重置为空表。⑷判定空表:函数名称是ListEmpty(L);初始条件是线性表L已存在;操作结果是若L为空表则返回TRUE,否则返回FALSE。⑸求表长:函数名称是ListLength(L);初始条件是线性表已存在;操作结果是返回L中数据元素的个数。⑹获得元素:函数名称是GetElem(L,i,e);初始条件是线性表已存在,1≤i≤ListLength(L);操作结果是用e返回L中第i个数据元素的值。⑺查找元素:函数名称是LocateElem(L,e,compare());初始条件是线性表已存在;操作结果是返回L中第1个与e满足关系compare()关系的数据元素的位序,若这样的数据元素不存在,则返回值为0。⑻获得前驱:函数名称是PriorElem(L,cur_e,pre_e);初始条件是线性表L已存在;操作结果是若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义。⑼获得后继:函数名称是NextElem(L,cur_e,next_e);初始条件是线性表L已存在;操作结果是若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义。⑽插入元素:函数名称是ListInsert(L,i,e);初始条件是线性表L已存在且非空,1≤i≤ListLength(L)+1;操作结果是在L的第i个位置之前插入新的数据元素e。⑾删除元素:函数名称是ListDelete(L,i,e);初始条件是线性表L已存在且非空,1≤i≤ListLength(L);操作结果:删除L的第i个数据元素,用e返回其值。⑿遍历表:函数名称是ListTraverse(L,visit()),初始条件是线性表L已存在;操作结果是依次对L的每个数据元素调用函数visit()。1.1.3 演示系统与数据文件要求构造一个具有菜单的功能演示系统。其中,在主程序中完成函数调用所需实参值的准备和函数执行结果的显示,并给出适当的操作提示显示。附录 A 提供了简易菜单的框架。 演示系统可选择实现线性表的文件形式保存。其中,①需要设计文件数据记录格式,以高效保存线性表数据逻辑结构(D,{R})的完整信息;②需要设计线性表文件保存和加载操作合理模式。附录 B 提供了文件存取的方法。演示系统可选择实现多个线性表管理。1.2系统设计1.2.1 数据物理结构线性表的数据物理结构如下:typ
您可能关注的文档
- 十九章:植物的生殖-教学课件.ppt
- 十字相乘法(经典教学课件).ppt
- 安全文明施工“6s”亮点策划.docx
- 十四课六年级语文上册数字图书馆.ppt
- 十年全国生物联赛分类汇编---生物化学.doc
- 巴厘岛建筑风格.docx
- 十年全国生物联赛分类汇编---细胞生物学.doc
- 十校联考2016学年九年级上语文月考试卷.doc
- 灞桥区农村集体土地乱搭乱建调研报告.doc
- 白马合理化建议8-设备基础预埋螺栓钢套管成孔改pvc套管成孔合理化建议――节约钢材降低工程成本.doc
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
最近下载
- 地利亚修女纪念学校(协和).doc VIP
- 2025年无人机驾驶员执照航路规划低空经济发展与航路规划专题试卷及解析.pdf VIP
- 油层物理期末试题卷七套.pdf VIP
- 2025年互联网营销师视频营销终极模拟测试专题试卷及解析.pdf VIP
- 右手五指练习 17《孩子们的拜厄 (上)》钢琴谱钢琴简谱 数字谱 钢琴双手简谱.pdf VIP
- T_HSSIA 2025—004(堤坡生态治理复合装配式连锁笼).pdf
- 文件传输协议(TFTP)在设备更新失败下的GNN补偿机制.pdf VIP
- 2025年互联网营销师私域社群活跃度与健康度数据分析专题试卷及解析.pdf VIP
- 2025年特许金融分析师单样本与双样本检验专题试卷及解析.pdf VIP
- 2025年特许金融分析师行业进入与退出壁垒评估专题试卷及解析.pdf VIP
原创力文档


文档评论(0)