设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列。
2023-01-08 11:08:37 6KB 约瑟夫环 源程序 代码
1
分别基于C和C++利用循环链表的数据结构解决约瑟夫环问题 注释详细,包含了Visual Studio 2017 Professional的工程文件,可以直接运行 包含了C语言实现和C++实现两个文件
2022-12-29 19:43:59 28.12MB C语言 C++ 约瑟夫环 完整代码及工程
1
约 瑟 夫 环 一.需求分析 1.约瑟夫环(Joseph)问题的一种描述是:编号为1,2……,n的n个人 按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一 个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺 序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m 值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直 至所有人全部出列为止。 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示"提 示信息"之后,有用户在键盘上输入演示程序中规定的运算命令,相应 的输入数据和运算结果显示在其后。 3.程序执行的命令包括: 1)输入初始密码和人数 2)输入所有人的密码 3)显示输入的所有人的 编号及相应的密码 4)输出出列密码及编号 5)结束 4.测试数据 (1)m=20, n=7, 7个人的密码依次为3,1,7,2,4,8,4 (2)m=20,n=1 (3)m=20,n=0 前面一组为常规数据,后面两组为边缘数据 二、概要设计 为实现上述功能,应以有序单向循环链表表示约瑟夫环。为此,需 要有一个抽象数据类型。该抽象数据类型的定义为: AD
2022-12-24 18:15:18 319KB 文档资料
1
用两种方法实现约瑟夫环,链表法和数组法。总结比较简单
2022-12-11 09:53:58 967B C语言实现
1
一、需求分析 1、以单项循环链表存储结构模拟约瑟夫环问题。即编号为1、2、3…、n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。按出列顺序印出各人编号。 2、 演示程序以用户与计算机的对话方式执行,用户输入相应的数据,输出结果显示在其后。 3、 测试数据:m初始值20,n=7,7个人密码依次为:3,1,7,2,4,8,4。正确出列顺序为6,1,4,7,2,3,5。 二、概要设计 1. 抽象数据类型的定义为: ADT LNode { 数据对象:D={ai | ai∈CharSet,i= 1,2,…,n,n≥0} 数据关系:R1={< ai-1 ,ai > | ai ∈D, I=2,…,n} 基本操作: initList(Linklist &L)
2022-12-04 22:12:43 33KB 数据结构 约瑟夫环 c++
1
数据结构(Java)实践作业约瑟夫环参考书本可直接运行交作业
2022-10-16 13:18:29 2KB 约瑟夫环
1
杭电数据结构最小生成树实验报告,供学弟学妹们借鉴使用。 其余学校也能使用,文件包含源码。源码绝对正确,这是我的期末作业哈哈。 希望同学们数据结构满绩哈哈。
2022-10-15 14:21:20 149KB 杭电 数据结构 约瑟夫环
1
主要介绍了Java简单实现约瑟夫环算法,简单描述了约瑟夫环问题,并结合实例形式分析了Java实现约瑟夫环的具体操作技巧,需要的朋友可以参考下
2022-09-25 23:03:50 73KB Java 约瑟夫环 算法
1
2.19 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素),同时释放被删结点空间,并分析你的算法的时间复杂度(注意: mink和maxk是给定的两个参变量,他们的值可以和表中相同,也可以不同) 2.22 试写一个算法,实现顺序表的就地逆置,即利用原表存储空间将线性表(a1, a2,…, an)逆置为(an, an-1,, a2 , a1)。 2.38 设有一个双向循环链表,每个结点中除有prior,data和next三个域外,还增设了一个访问频度域freq。在链表被起用之前,频度域freq的值均初始化为零,而每当对链表进行一次locate(L,x)的操作后,被访问的结点(即元素值等于x的结点)中的频度域freq的值便增1,同时调整链表中结点之间的次序,使其按访问频度非递减的次序顺序排列,以便始终保持被频繁访问的结点总是靠近表头结点。试编写符合上述要求的locate操作的算法。 2.39 约瑟夫(Josephus)环问题:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈,
2022-09-24 22:06:58 34.33MB 数据结构
1
重庆大学数据结构课程设计,包含代码、报告,可以正确运行。运行环境visual 2010
2022-06-26 16:29:57 7.79MB 二叉树 货架管理 约瑟夫环
1