gpt4 book ai didi

c++ - 在 Cpp 中对 Vector of Vector 进行排序

转载 作者:行者123 更新时间:2023-12-05 08:29:40 24 4
gpt4 key购买 nike

假设我有这个 vector [[5,10],[2,5],[4,7],[3,9]] 的 vector ,我想使用cpp 的 sort() 方法,这样它就变成了这个 [[5,10],[3,9],[4,7],[2,5]] 排序后。那就是我要根据第二个索引进行排序。

现在我已经编写了这段代码来对这个 vector of vector 进行排序,但是它不能正常工作。

static bool compareInterval( vector<vector<int>> &v1, vector<vector<int>> &v2)
{
return (v1[0][1]>v2[0][1]);
}


sort(boxTypes.begin(), boxTypes.end(), compareInterval);

谁能告诉我哪里错了,我能改正吗?提前致谢。

最佳答案

你的类型可能看起来像

std::sort(boxTypes.begin(), boxTypes.end(), [](auto const& lhs, auto const& rhs) {
return lhs[1] > rhs[1];
});

换句话说,按 [1] 排序每个 vector 的元素并使用 >按降序排序。请注意,在 lambda 函数中 lhsrhs类型为 const std::vector<int>& .

关于c++ - 在 Cpp 中对 Vector of Vector 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69089690/

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