目录
约瑟夫环问题
问题分析
完整代码
运行结果
实验题目:约瑟夫环问题:设编号为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)。
这里假设总共有八个人,报到三的人出列
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/36204.html