v; v.push_back(make-6ren">
gpt4 book ai didi

c++ - 在 C++ 中对一对 vector 进行排序

转载 作者:太空狗 更新时间:2023-10-29 20:12:35 25 4
gpt4 key购买 nike

#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

我们可以从输出中看到,排序函数已经对 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++ 中对一对 vector 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26844983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com