c++ - 在 C++ 中如何按降序排序?

标签 c++ sorting

我在搜索如何按降序对 vector 进行排序然后我找到了这段代码

std::sort(numbers.begin(), numbers.end(), std::greater<int>());

它可以工作,但我只想知道它是如何工作的

最佳答案

std::sort 的第三个参数是一个返回 true 的仿函数/函数如果第一个参数要放在排序顺序中的第二个元素之前。

std::greater<int>::operator()(...)返回 true如果第一个参数大于第二个参数。

因此,使用 std::greater<int>()作为 std::sort 的第三个参数导致对象集合按降序排序。

关于c++ - 在 C++ 中如何按降序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50104725/

相关文章:

java - Vaadin Treetable - 自定义排序以跳过父行

javascript - 有效地替换字符串中的所有重音字符?

algorithm - 这是什么排序算法,它是如何工作的? (如果没有名称或知名资源。)

algorithm - 排序和搜索关系

c++ - 跟进: Boost serialized custom C++ object passed over ZeroMQ pull socket

c++ - MPI_Bcast : how to ensure that "correct" root is broadcasting 有困难

c# - 在 C++ 和 C# 中使用递归求矩阵的行列式

c++ - 复制构造函数调用次数过多

c++ - 段错误而不是构造函数调用

algorithm - 如何进行 d 平滑序列算法