`

map---遍历

阅读更多

#include<map>    
#include<iostream>    
using  namespace  std;    
char maxCount(const char*);    
   
  void main()    
  {              
   char buff[200];    
           cout<<"Please input string:"<<endl;    
           cin>>buff;    
           cout<<"The max count char in buff is:"<<maxCount(buff)<<endl;    
  }    
  char maxCount(const char * string)    
  {           
   ]map<char,int> c_map;    
       const char *p=string;    
       while(*p)
    {    
         c_map[*p]++;    
          p++;    
       }    
       int max=0;    
       map<char,int>::iterator it=c_map.begin();    
       char   find=it->first;  
       for(;it!=c_map.end();it++){    
       if(max<it->second)
    {  
     max=it->second;    
           find=it->first;    
       }    
       }    
       return find;    
  }    

 

 

 

stl map高效遍历删除的方法:

for(;iter!=mapStudent.end();)
{
     if((iter->second)>=aa)
     {
         //满足删除条件,删除当前结点,并指向下面一个结点
              mapStudent.erase(iter++);
     }
     else
     {
     //条件不满足,指向下面一个结点
     iter++;
     }
}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics