<p id="main-toc"><strong>目录</strong></p>
讯享网
约瑟夫环问题
问题分析
完整代码
运行结果
实验题目:约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。
实验说明:用顺序表实现,并分析算法的时间和空间复杂性。
队列也是一种线性表,这里使用队列实现约瑟夫环问题
有n个人,围绕一圈循环报数,报到m的人出列,剩余人继续循环报数,直到所有人都出列。

使用c++里stl里的队列实现这道题目。
从队头开始报数,报数到m的人就出队,报数不是m的人就移动到队尾。
输入n和m,输出报到m的人的编号。
输入8个人,报到4的人出列。
时间复杂度为O(n)空间复杂度为O(n)。
讯享网
这里假设总共有八个人,报到三的人出列


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/197116.html