欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++中如何按照map中的value来进行排序

程序员文章站 2024-01-08 17:17:34
sort函数无法对map进行排序,网上的方法一般是通过将map转为vector后,再来使用sort进行排序。 如下, 比较函数 主函数 ......

    sort函数无法对map进行排序,网上的方法一般是通过将map转为vector后,再来使用sort进行排序。

如下,

比较函数

bool cmp(const pair<int,int> & a,const pair<int,int> & b){
    if(a.second!=b.second)
        return a.second>b.second;
    else
        return a.first<b.first;
}    

主函数

map<int,int> mps;
vector<pair<int,int> > ves(mps.begin(),mps.end()); sort(ves.begin(),ves.end(),cmp);