C++中如何按照map中的value来进行排序
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);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步