//约瑟夫(Josephus)问题:有15我的排成一圈,并给他们1~15的编号。如今从1号开始报数,报数字4的人退出
//队列,余下的人从退出者下一个位置开始继续刚才的报数,直到整个队列只剩下一我的为止。请问这我的是几
//号?
//单向循环链表类的实现我会尽快发布
//本题的解决方法见左飞的教材;p169ios
#include"CirList.h"
#include<iostream>
using namespace std;
void main(){
CirList<int>jos;spa
for(int i=1;i<16;i++)
{
jos.AddTail(i);
}
jos.SetBegin();
int length=jos.GetCount();
for(int i=1;i<length;i++)
{
for(int j=0;j<3;j++)
jos.GetNext();
jos.RemoveThis();
}
cout<<jos.GetNext()<<endl;
}队列