std::sort 如何从大到小排序
时间: 2024-09-21 20:07:55 浏览: 77
sort 排序:sort函数从大到小排序的方法(C++实现)
`std::sort` 是 C++ 标准库中的一个函数,通常用于对容器中的元素进行排序,默认情况下它是升序排序。如果你想要按照降序(即从大到小)的方式对元素进行排序,你可以自定义一个比较函数,传递给 `sort` 函数。
首先,你需要提供一个 `bool` 类型的比较函数模板,比如 `greater<T>`,它会比较两个同类型的元素并返回 `true` 如果第一个大于第二个:
```cpp
template <typename T>
bool compareDesc(const T& a, const T& b) {
return a > b; // 比较a是否大于b,如果是则返回true(表示a应该排在b前面)
}
```
然后,你可以像下面这样使用这个比较函数来对容器进行降序排序:
```cpp
#include <algorithm> // 包含sort函数
#include <vector>
// 假设你有一个整数向量
std::vector<int> numbers = {5, 2, 9, 1, 7};
// 使用自定义比较函数对vector进行降序排序
std::sort(numbers.begin(), numbers.end(), compareDesc);
// 现在numbers将按降序排列
```
阅读全文