//約瑟夫(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;
}隊列