实验三:用单循环链表实现约瑟夫环问题
上一节
下一节
实验三:用单循环链表实现约瑟夫环问题(2学时)
本次实验的主要目的在于帮助学生熟练掌握线性表的基本操作在链式存储结构上的实现。主要应用单循环链表来实现存储。
(一) 问题描述
约瑟夫环问题描述:n个人围成一圈报数(每个人用编号1—n表示即可),从1号开始,每数到m出圈一个,然后再从下一个开始重新报数,直至所有人全部出圈为止。试设计一个程序求出圈顺序,要求n、m由键盘输入。
(二) 基本要求
利用单向循环链表实现此过程,按照出圈的顺序输出各人的编号。
(三) 测试数据
n=10,m=3,正确的顺序为3,6,9,2,7,1,8,5,10,4。
n=10,m=1,正确的顺序为1,2,3,4,5,6,7,8,9,10。
(四) 实现提示
此题用的单循环链表中不需要“头结点”,注意空表和非空表的条件,出圈即删除结点,最后链表中无数据。

