数据结构课程设计报告双向循环链表的创建及相关操作的实现.docVIP

数据结构课程设计报告双向循环链表的创建及相关操作的实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告双向循环链表的创建及相关操作的实现

山东建筑大学 题 目:题 目: 题 目: 图 课 程:院 (部): 专 业: 班 级: 学生姓名: 学 号: 指导教师: 完成日期: 目 录 课程设计任务书 I 双向循环链表的的创建及相关操作的实现 3 二、数据结构 3 三、逻辑设计 3 四、编码 3 五、测试数据 3 六、测试情况 3 树的的创建及相关操作的实现 3 一、问题描述 3 二、数据结构 3 三、逻辑设计 3 四、编码 3 五、测试数据 3 六、测试情况 3 图的的创建及相关操作的实现 3 一、问题描述 3 二、数据结构 3 三、逻辑设计 3 四、编码 3 五、测试数据 3 六、测试情况 3 结 论 4 参考文献 5 课程设计指导教师评语 6 课程设计任务书 设计题目 双向循环双向循环链表的创建及相关操作的实现 已知技术参数和设计要求 对给定的双向循环链表能够实现链表的初始化,节点的添加,节点的删除,和链表的逆置。并对所创建的双向循环链表实现以下的操作: 建立一个空的链表。 插入第i个节点。 删除第i个节点。 插入第一个节点。 删除最后一个节点。 逆置。 设计内容与步骤 设计存储结构 设计算法 编写程序,进行调试 总结并进行演示、讲解 设计工作计划与进度安排 根据自己选作的题目,给出完成每项工作的时间表,包括起止时间、工作内容、地点 设计考核要求 考勤20% 课程设计说明书50% 成果展示30% 指导教师(签字): 教研室主任(签字) 双向循环链表的创建及相关操作的实现 一、问题描述 用图示的方法描述所处理的双向循环链表的形态 二、数据结构 针对所处理的双向循环链表: 画出双向循环链表的存储结构 三、逻辑设计 1、总体思路 1.构思: 首先双向循环链表的创建建立在双向链表之上,所以建立双向循环表时 每个节点有三个属性:即数据域、上一个节点和下一个节点。其中第一个节点的上一个节点是最后一节点,最后一个节点的下一个节点是第一个节点。从而构成双向循环链表。 首先创建出来一个空的双向循环链表链表里面只有1个节点即beginMarker。一个个节点构成一个空的双向循环链表。 创建出链表后调用add方法在beginMarker的后面添加节点,每次添加节点后吧添加的那个节点作为endMarker使其和头结点构成循环。 插入一个节点时首先要找到要插入节点的位置,如果是第一个节点,则把第一个节点先保存起来,把新节点添加进去,再把原来的第一个节点添加进来插入最后一个节点是和添加第一个节点的方法类似。 若是在中间的某个位置插入则先找到那个位置的元素,类似于从第一个节点插入。 4.删除时先找到要删除的位置如果是第一个位置,则把第一个元素的值先保存,然后把第一个节点的next赋给beginMarker,然后把第一个节点的值致null; 在中间删除也是删除最后一个把最后一个节点的前一个节点的next置空。 5.逆置是创建一个空的链表把原来的链表的元素添加到空链表当中。然后打印出来 模块划分(以图示的方法给出各个函数的调用关系) MyTwoLinkedCycleList list=new MyTwoLinkedCycleList(); MyTwoLinkedCycleList list1=new MyTwoLinkedCycleList(); list.addInit(); List.add(); List.remove() Lst.print(); List.panduan(list1); 函数或类的具体定义和功能 MyTwoLinkedCycleList 1.MyTwoLinkedCycleList()构造方法用于创建空的链表 2.init()初始化各项说明文字 3.addInit()用于向空的链表初始化节点 4.add()用于添加顶点和最后一个顶点之间的节点 5.add(AnyType data,int index)用于添加任意位置的顶点 6.remove()删除顶点操作 7.size()用于求链表的大小 8.inverse()用于逆置链表 9.print()用于打印出链表中的各元素 10.panduan()用于选择是否逆置链表 四、编码 package package2; import java.util.Scanner; public class MyTwoLinkedCycleListAnyType{ @Su

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档