约瑟夫环--使用STL链表

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

        
if(iter==a.end())
            iter
=a.begin();
   }
}

你可能感兴趣的:(C++)