gpt4 book ai didi

C++排序方法

转载 作者:行者123 更新时间:2023-11-30 01:00:23 25 4
gpt4 key购买 nike

我想使用 std::sort 对一个 vector 进行排序,但是我的排序方法是一个类的静态方法,我想在它外面调用 std::sort,但这样做似乎很麻烦。

在类里面:

static int CompareIt(void *sol1, void *sol2) { ... }

std::sort 调用:

sort(distanceList.at(q).begin(), 
distanceList.at(q).end(),
&DistanceNodeComparator::CompareIt);

不应该这样吗?

最佳答案

std::sort接受一个比较器,该比较器接受集合中保存的类型的值并返回 bool .它通常应该实现 < 的一些概念.例如,假设您的 distanceList 元素有整数集合(我假设它们没有,但为了示例):

static bool CompareIt(int sol1, int sol2) { ... }

当然,如果还没有 <,您只需要提供一个比较器为您的场景做正确事情的运算符。

关于C++排序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717297/

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