众所周知,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)了
本文介绍了一种在C++中将map按其值进行排序的方法,通过使用vector和自定义比较函数实现,适用于需要根据map的值进行操作的场景。
8992

被折叠的 条评论
为什么被折叠?



