gpt4 book ai didi

c++ - 根据两个值对 STL vector 进行排序

转载 作者:IT老高 更新时间:2023-10-28 21:39:16 35 4
gpt4 key购买 nike

如何根据两个不同的比较标准对 STL vector 进行排序?默认的 sort() 函数只接受一个排序器对象。

最佳答案

您需要将这两个条件合二为一。下面是如何使用第一个和第二个字段对结构进行排序的示例基于第一个字段,然后是第二个字段。

#include <algorithm>

struct MyEntry {
int first;
int second;
};

bool compare_entry( const MyEntry & e1, const MyEntry & e2) {
if( e1.first != e2.first)
return (e1.first < e2.first);
return (e1.second < e2.second);
}

int main() {
std::vector<MyEntry> vec = get_some_entries();
std::sort( vec.begin(), vec.end(), compare_entry );
}

注意:compare_entry 的实现已更新为使用 Nawaz 中的代码.

关于c++ - 根据两个值对 STL vector 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6771374/

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