一、unordered_map
unordered_map占用内存高,但执行效率快;unordered_map的用法与map相同,如 insert,size,count等操作,并且里面的元素也是以pair类型来存贮的。
更详细戳
二、map的按value排序
1. 构建方法
int cmp(const pair<string,int> &x, const pair<string,int> &y)
{return x.second>y.second;
}
2. 更换容器,用vector
void sortByValue(map<string,int> &t_map,vector<pair<string,int> >&t_vec)
{map<string,int>::iterator it;for(it=t_map.begin();it!=t_map.end();++it)t_vec.push_back(make_pair(it->first,it->second));sort(t_vec.begin(),t_vec.end(,cmp));
}
然后再主函数中调用sortByValue()即可;
三、例题
pat甲级1153