- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构约瑟夫环 学位论文
数据结构 课程设计报告
设计题目:
班 级:
组 长: 姓名(学号)
组 员:姓名(学号)…
指导教师:
完成日期:
成绩:
目 录
1需求分析 3
1.1功能分析 3
1.2设计平台 3
2概要设计 3
2.1类LinkList 3
2.2类Joseph 4
2.3类异常处理 4
3详细设计和实现 4
3.1创建结点Node 4
3.2创建双向循环链表 5
3.3从链表中删除结点 6
4调试与操作说明 10
4.1调试情况 10
4.2操作说明 10
5设计总结 11
参 考 文 献 12
附录 12
1需求分析
1.1功能分析
本次选做的课程设计是改进约瑟夫(Joseph)环问题。约瑟夫环问题是一个古老的数学问题,本次课题要求用程序语言的方式解决数学问题。此问题仅使用单循环链表就可以解决此问题。而改进的约瑟夫问题通过运用双向循环链表,同样也能方便地解决。
在建立双向循环链表时,因为约瑟夫环的大小由输入决定。为方便操作,我们将每个结点的数据域的值定为生成结点时的顺序号和每个人持有的密码。进行操作时,用一个指针current指向当前的结点,指针front始终指向头结点。然后建立双向循环链表,因为每个人的密码是通过rand()函数随机生成的,所以指定第一个人的顺序号,找到结点,不断地从链表中删除链结点,直到链表Windows2000以上操作系统;Microsoft Visual C++ 6.0
2概要设计
已知n个人(以编号1,2,3...n分别表示)围。从编号为的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到的人全部出列。这个就是约瑟夫环问题的实际场景,有一种是要通过输入n,m,k三个正整数,来求出列的序列。这个问题采用的是典型的循环链表的数据结构,就是将一个链表的尾元素指针指向队首元素。 p-link=head解决问题的核心步骤:建立一个具有n个链结点,无头结点的循环链表确定第1个报数人的位置不断地从链表中删除链结点,直到链表为空Linklist , Joseph。
为实现上述程序功能,应以单向循环链表表示约瑟夫环。为此,需要两个抽象数据类型:单向循环链表和约瑟夫环。
1)、单向循环链表的抽象数据类型定义为:
ADT List{
数据对象:D={ai|ai∈Elemset,i=1,2,…,n,n≥0}
数据关系:R1={<a(i-1),ai>|a(i-1),ai∈D,i=2,…n}
基本操作:
InitList(L)
操作结果:构造一个空的链表L。
DestroyList(L)
初始条件:线性表L已存在。
操作结果:销毁线性表L。
ListLength(L)
初始条件:线性表L已存在。
操作结果:返回L中数据元素个数。
GetElem(L,i,e)
初始条件:线性表L已存在,1≤i≤ListLength(L)。
操作结果:用e返回L中第i个数据元素的值。
ListInsert(L,I,e)
初始条件:线性表L已存在,1≤i≤ListLength(L)+1。
操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1。
ListDelete(L,i,e)
初始条件:线性表L已存在且非空,1≤i≤ListLength(L)。
操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1。
ListTraverse(L,visit())
初始条件:线性表L已存在。
操作结果:依次对L的每个数据元素调用函数visit()。一旦visit()失败,则操作失败。
}ADT List
2)约瑟夫环的抽象数据类型定义为:
ADT Set{
数据对象:D={ai|ai为用户输入的数字密码,i=1,2,…,n,1≤n≤7}
数据关系:{}
基本操作:
CreatSet(L,s)
初始条件:L为单向循环链表。
操作结果:对链表中的数据域进行赋值。
DeleteSet(L,i,e)
初
您可能关注的文档
- 球磨机的筒体部分 学位论文.doc
- 全国5a级景区空间分布规律及影响因素研究 学位论文.doc
- 全面分析阿里巴巴 学位论文.doc
- 全自动洗衣机plc控制设计 学位论文.doc
- 全身反应法在小学英语教学中的应用 毕业设计 .doc
- 缺项的幂级数收敛半径公式 毕业设计 .doc
- 全自动洗衣机plc控制设计课程 学位论文.doc
- 全身反应法在小学英语教学中的应用 学位论文.doc
- 燃煤电厂烟气石灰喷雾干燥法设计 毕业设计 .doc
- 热变形工艺对管线钢微观组织的影响 毕业设计 .doc
- 2025年国家司法考试模拟真题强化训练集锦.doc
- 2025春初中毕业生学业考试指导书 英语答案.docx
- 2025春初中毕业生学业考试指导书 英语答案.pdf
- 2025春初中毕业生学业考试指导书 英语中考题型解读及强化训练.pdf
- 必威体育精装版学校入团申请书 学校学生入团申请书(优质8篇).docx
- 2025春初中毕业生学业考试指导书历史考点检测.docx
- 2025春初中毕业生学业考试指导书历史考点检测.pdf
- 必威体育精装版雪的古诗句(通用18篇).docx
- 必威体育精装版学校卫生工作述职报告(精选15篇).docx
- 必威体育精装版学校疫情健康管理方案 疫情期间员工健康管理方案(模板5篇).docx
文档评论(0)