template<class T>
void joseph(list<T>& a, list<T>& b, int jumNum)
void joseph(list<T>& a, list<T>& b, int jumNum)
{
list<T>::iterator iter=a.begin();
while(!a.empty())
list<T>::iterator iter=a.begin();
while(!a.empty())
{
for(int i=0;i<jumNum;i++)
for(int i=0;i<jumNum;i++)
{
iter++;
if(iter==a.end())
iter=a.begin();
}
iter++;
if(iter==a.end())
iter=a.begin();
}
b.push_back(*iter);
iter = a.erase(iter);
if(iter==a.end())
iter=a.begin();
}
}
iter = a.erase(iter);
if(iter==a.end())
iter=a.begin();
}
}