首页 > 试题广场 >

用C++代码实现vector,list,map的循环删除操作

[问答题]
用C++代码实现vector,list,map的循环删除操作。
删除所有的偶数项
1.vector void erase(vector<int> &v)
{
    for(vector<int>::iterator vi=v.begin();vi!=v.end();)
     {
        if(*vi % 2 == 0)
         {
             cout << "Erasing " << *vi << endl;
             vi = v.erase(vi);
         }
        else ++vi;
     }
}

2.map/list void erase(map<int,int> &m) {   for (map < int , int > ::iterator mi = m.begin();mi != m.end();)   
   {       if (mi -> second  %   2   ==   0 )       
             {           
                cout<<" Erasing"<<mi -> second<<endl;           m.erase(mi ++ );       
              }       else   ++ mi;   
   } } 

编辑于 2015-12-30 11:15:32 回复(0)