#include <utility>
vector<pair<int,int>> vmap;
for(auto it=map.begin();it!=map.end();it++){
vmap.push_back(make_pair(it->first,it->second));
}
sort(vmap.begin(),vmap.end(),[](const pair<int,int> &x,const pair<int,int> &y) ->int{
if(x.second==y.second){
return x.first>y.first;
}
else
return x.second<y.second;
});
/*
如果你要从大到小进行排序,那么只用在全局添加一个cmp函数,之后在sort函数中把第三个参数写成cmp,就没有问题了。
bool cmp(int x, int y)
{
return x > y;
}
sort函数改法:sort(a , a + n, cmp)
*/
bool judge(const pair<int,char> a, const pair<int ,char> b) {
return a.first<b.first;
}
vector<pair<int ,char>> p;
p.push_back(make_pair(10,'a'));
p.push_back(make_pair(9,'c'));
sort(p.begin(),p.end(),judge);
重写快排sort函数
最新推荐文章于 2023-07-21 18:05:13 发布