环形链表是指链表的最后一个节点的地址域内容是第一个节点的地址。
试着创建一个简单的环形链表以及相关的操作函数(C风格即可),并用该链表解决约瑟夫问题。
约瑟夫问题:n个人围成一圈,从头开始报数m,点到m的人退出该圈,剩下的人继续报数。输出依次退出的人的序号。
环形链表是指链表的最后一个节点的地址域内容是第一个节点的地址。
试着创建一个简单的环形链表以及相关的操作函数(C风格即可),并用该链表解决约瑟夫问题。
约瑟夫问题:n个人围成一圈,从头开始报数m,点到m的人退出该圈,剩下的人继续报数。输出依次退出的人的序号。
输入两个整数n和m,如8和3。
创建长度为8的环形链表,并依次填入1-8。
从1开始报数,输出报数到3的点的内容,并从环形链表当中删除。
第一行:输出每个被删除的节点内容,用空格进行分割。
第二行:输出最后的胜利者。
8 3
3 6 1 5 2 8 4
7