在c中排序一对矢量
发布时间:2020-12-16 09:55:06 所属栏目:百科 来源:网络整理
导读:#include "bits/stdc++.h"using namespace std;int main(){int i,j;vector pairint,int v; v.push_back(make_pair(4,2)); v.push_back(make_pair(1,3)); v.push_back(make_pair(5,4));sort(v.begin(),v.end());for(i=0;iv.size();i++) coutv[i].first" "v[i]
#include "bits/stdc++.h" using namespace std; int main() { int i,j; vector< pair<int,int> > v; v.push_back(make_pair(4,2)); v.push_back(make_pair(1,3)); v.push_back(make_pair(5,4)); sort(v.begin(),v.end()); for(i=0;i<v.size();i++) cout<<v[i].first<<" "<<v[i].second<<endl; } 上面代码的输出是— 1 3 4 2 5 4 我们可以从输出中看到sort函数已经对v [i] .first进行了排序,但是如果我们只想对v [i] .second进行排序,或者如果我们想要对它们进行排序,那么如何完成任务呢? 解决方法
指定自定义比较器.在C 14中,它可以非常简洁地完成:
sort(v.begin(),v.end(),[](const auto& x,const auto& y){return x.second < y.second;}); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |