map容器按值(value)排序

众所周知,map映射是(key-value)的形式,map自带为key排序,但是很多时候我们想让map按value排序,这时,我们可以借助vector



bool cmp(const PAIR& x, const PAIR& y)
{
	return x.second > y.second //降序 
}
typedef pair<string, int> PAIR
map<string, int> mp;



vector<PAIR> v(mp.begin() ,mp.end() );
sort(v.begin(), v.end(), cmp);

这时,排好序的mp已经用pair的形式放在v向量中了,可以通过
v[i].first,v[i].second 来分别访问string和int(key-value)了

猜你喜欢

转载自blog.csdn.net/yezi_coder/article/details/104582914
今日推荐