
#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 25 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;}); 总结 以上是内存溢出为你收集整理的在c中排序一对矢量全部内容,希望文章能够帮你解决在c中排序一对矢量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)