c++ map 按照value排序

c++ map 按照value排序,第1张

#include
#include
#include
#include
#include
using namespace std;
// 升序
bool cmp(const pair &p1,const pair &p2)//要⽤常数,不然编译错误
{
return p1.second }
int main(void)
{
map mp;
mp[1]=4;
mp[2]=3;
mp[3]=2;
mp[4]=1;
vector > arr;
for (map::iterator it=mp.begin();it!=mp.end();++it)
{
cout arr.push_back(make_pair(it->first,it->second));
}
cout < sort(arr.begin(),arr.end(),cmp);
for (vector >::iterator it=arr.begin();it!=arr.end();++it)
{
cout }
return 0;
}
输出结果:

上述也可以通过lambda表达式表示如下:
sort(map_b.begin(), map_b.end(),
[](const pair &x, const pair &y) -> int {
return x.second < y.second;
});

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/872997.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-13
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存