文件名称:JosephusRing
介绍说明--下载内容均来自于网络,请自行研究使用
约瑟夫环问题(Josephus),用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。由于当某个人退出圆圈后,报数的工作要从下一个人开始继续,剩下的人仍然是围成一个圆圈的,可以使用循环表,由于退出圆圈的工作对应着表中结点的删除操作,对于这种删除操作频繁的情况,选用效率较高的链表结构,为了程序指针每一次都指向一个具体的代表一个人的结点而不需要判断,链表不带头结点。所以,对于所有人围成的圆圈所对应的数据结构采用一个不带头结点的循环链表来描述。设头指针为p,并根据具体情况移动。
为了记录退出的人的先后顺序,采用一个顺序表进行存储。程序结束后再输出依次退出的人的编号顺序。由于只记录各个结点的number值就可以,所以定义一个整型一维数组。如:int quit[n] n为一个根据实际问题定义的一个足够大的整数。
为了记录退出的人的先后顺序,采用一个顺序表进行存储。程序结束后再输出依次退出的人的编号顺序。由于只记录各个结点的number值就可以,所以定义一个整型一维数组。如:int quit[n] n为一个根据实际问题定义的一个足够大的整数。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 67506238josephusring.rar 列表 约瑟夫环问题(Josephus).cpp