C++中map按value值进行排序

首先构造cmp比较函数或结构体,再用一个vector容器将map转换为vector,最后用sort进行排序。

bool cmp(const pair<string, int> &a, const pair<string, int> &b)//也可以用结构体
  {
            return a.second > b.second;           
    }
int main(){
     vector<pair<string,int>> mpp(mp.begin(),mp.end());//用map对该容器初始化
    sort(mpp.begin(),mpp.end(),cmp);//用sort排序
    cout<<mpp.begin()->first; 
}
原文地址:https://www.cnblogs.com/kalicener/p/13494176.html