课程设计退圈单循环链表.docVIP

  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文档。上传文档
查看更多
课程设计退圈单循环链表

湖南科技学院 课程设计报告 课程名称: 数据结构课程设计 课程设计题目: 单循环链表 系: 数学与计算科学系 专 业: 信息与计算科学 年级、班: 信计0801 姓 名: XX 学 号: XXXXXXXXXX 指导教师: XX 职 称: 讲师 XX年XX月XX日 目录 1.问题描述………………………………………………………………………3 基本要求………………………………………………………………………3 测试数据………………………………………………………………………4 算法思想………………………………………………………………………4 模块划分………………………………………………………………………4 数据结构………………………………………………………………………4 源程序………………………………………………………………………… 8.测试情况……………………………………………………………………… 9.经验和体会…………………………………………………………………… 10.参考文献…………………………………………………………………… 1. 问题描述 1.1问题重述 设编号为1,2,…,n(n0)个人按顺时针方向围坐一圈,每人持有一个正整数密码。开始时任意给出一个报数上限值m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新自1起顺序报数;如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,并给出出列人的编号序列,并要求使用单循环链表 1.3 课程设计目的 首先,通过课程设计题目的练习,强化对所学知识的掌握及对问题分析和任务定义的理解,对每道题目作出了相应的逻辑分析和数据结构的选择。其次,对任务的分析,则为操作对象定义相应的数据结构,以过程化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。再次,分模块对题目进行设计,强化对C++的掌握和对数据结构的选择及掌握。最后,程序的编译掌握对程序的调试方法及思想,并且学会使用一些编程技巧。 2.基本要求 题目要求将问题用单循环链表来输出出列的序号,那么程序要有循环、输入和输出功能。解决题目中的问题首先就必须要了解链表的基本功能,并能创建单循环链表,然后读取表中的数据,用顺序表来读取一个固定的数时,输出这个数的序号。 3.测试数据 设计涉及到的数据比较少,只需输入总人数n和要报停的数m,且这两个数是任意的。 4.算法思想 用一个循环的链表来实现它,假设人的个数是n,m是要出列的序号,那么建立一个n长的链表,链表最后一个元素的next指针指向第一个元素,这样就形成一个循环链表,而链表的数据域储存的就是出列的序号。 5.?模块划分 List CreateList(int n):用链表来得出最后一个人的序号 int LinkedList(int num_node,int number):用顺序表来得出最后一个人的序号 int SequenceList(int num_node,int number):创建循环单链表 6.数据结构 定义编码:int data 定义头结点下一个结点:struct Node *next 定义头结点:List head 定义最后一个结点:List tail 定义出列的数的序号:last typedef struct Node { int data;//存储编号 struct Node *next; }*List; 7.源程序 7.1头文件tl09.h #ifndef TL09_H_INCLUDED #define TL09_H_INCLUDED #include iostream using namespace std; #define MAXSIZE 100 typedef struct Node { int data;//存储编号 struct Node *next; }*List; List CreateList(int n);//用链表来得出最后一个人的序号 int LinkedList(int num_node,int number);//用顺序表来得出最后一个人的序号 int SequenceList(int num_node,int number);//创建循环单链表 #endif // TL09_H_INCLUDED 7.2源文件tl09.cpp #includetl09.h List CreateList(int n) { int i; List head,p

文档评论(0)

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

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

1亿VIP精品文档

相关文档