- 博客(1)
- 资源 (1)
- 收藏
- 关注
shiyan1.cpp
编号为 1,2,....,N 的 N 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值 M,从第一个人开始按顺时针方向自 1 开始顺序报数,报到 M 时停止报数。报 M 的人出列,将他的密码作为新的 M 值,从他在顺时针方向上的下一个人开始重新从 1 报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出每个人的编号。
测试数据示例:
若 M 的初值为 20;N=7;7 个人 的密码依次为:3、1、7、2、4、8、4。M 初值为 6(正确的出列顺序应为 6,1,4,7,2,3,5)。
实现提示:
程序运行后,首先要求用户指定初始报数的上限值,然后读入每个人的密码。
可设 n<=30,循环链表不需要头结点,请注意空表和非空表的区别。
2020-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人