资源描述:
《约瑟夫环数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、约瑟夫环问题设计与实现CHANGSHAUNIVERSITYOFSCIENCE&TECHNOLOGY课程设计(论文)题目:约瑟夫环学生姓名:江元学号:201153100121班级:信息与计算科学11-01班所在院部:数学与计算科学学院指导教师:龚红仿2013年6月第18页共10页约瑟夫环问题设计与实现约瑟夫环学生姓名:江元学号:201153100121班级:信计11-01班指导教师:龚红仿完成日期:2013年6月27日第18页共10页约瑟夫环问题设计与实现约瑟夫环问题设计与实现摘要约瑟夫问题是由古罗马著名的史学家Josephus提
2、出的问题演变而来,所以通常称为Josephus问题。改进约瑟夫问题的描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人有一个密码m(整数),留作其出圈后应报到m后出圈,依次类推,即可求出出列顺序。因此约瑟夫环问题如果采用循环链表则能很好的解决。循环链表的数据结构,就是将一个链表的最后一个节点指针指向第一个结点。出列时,根据密码找到对应的人,打印其编号,将其密码赋值给m后,释放节点,形成新的约瑟夫环,直到所有人出列结束。关键字:约瑟夫环;循环链表;出列顺序;释放节点;第18页共10页约瑟夫环问题设计与实现Designa
3、ndRealizationoftheJosephringABSTRACTTheJosephproblemistheevolutionproposedbyancientRomefamoushistorianJosephusandcome,sooftenreferredtoastheJosephusproblem.ImprovementofJosephproblemdescriptionis:No.1,2,...N,nindividualsaccordingtoaclockwisedirectionaroundacircle,eac
4、hwithapasswordofM(integer),keeptheringshouldbereportedaftertheMring,andsoon,wecancalculatethecolumnorder.SoJosephcircleifusingcircularlinkedlistcanbeverygoodsolution.Circulationlistdatastructure,isthelastofanodeisapointertoalistofthepointstothefirstnode.Out,according
5、tothecodetofindthecorrespondingperson,printthenumber,thepasswordisassignedtom,releasethenode,theformationofJosephring,untilallthepeopleoutoftheend.Keywords: Josephring;circularlinkedlist;thecolumnorderreleasenodes;第18页共10页约瑟夫环问题设计与实现目录1需求分析………………………………………………………………11.
6、1课题内容…………………………………………………………11.2要求………………………………………………………………12概要设计…………………………………………………………………13详细设计…………………………………………………………………23.1程序中的数据类型………………………………………………23.2函数运行过程详解………………………………………………34设计和调试分析…………………………………………………………64.1调试中遇到的问题………………………………………………64.2经验和体会………………………………………………
7、………75用户使用说明……………………………………………………………76测试数据和测试结果……………………………………………………8参考文献……………………………………………………………………10第18页共10页约瑟夫环问题设计与实现1需求分析1.1课题内容:(1)本演示程序中,人数n应为任意的,首先应输入一个值赋给初始报数上限m,程序应能自动保存出列人的序号和将出列的人所持的密码赋给m,再次作为报数上限,如此循环,直至所有人都出列为止。(2)演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键
8、盘上输入相应数据(即每个人所持的密码),每个人的序号由程序自动分配。(3)程序执行的命令包括:(1)构造链表;(2)输入数据;(3)执行报数,储存出列人的序号,删除出列人的信息以及把出列人的密码赋给m;(4)结束。(4)测试数据n=7,7个人的密码依次为:3,1