sort从大到小排序C++
时间: 2024-10-12 14:15:25 浏览: 3
在C++中,如果你想要对数组或其他容器进行降序(从大到小)排序,可以使用`std::sort`函数配合自定义的比较函数。标准库提供的`sort`默认是升序排列,所以我们需要提供一个逆向的比较规则。这里是一个简单的例子:
```cpp
#include <algorithm>
#include <iostream>
#include <vector>
bool compare(const int& a, const int& b) {
return a > b; // 比较元素a是否大于b,如果是则返回true,表示a应该排在b前面,即降序排列
}
int main() {
std::vector<int> numbers = {5, 2, 9, 1, 7}; // 待排序的整数序列
std::sort(numbers.begin(), numbers.end(), compare); // 使用compare作为第三个参数
for (const auto& num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个示例中,`numbers`会按照从大到小的顺序被打印出来。
相关问题
sort从大到小排序 C++
在 C++ 中,您可以使用`sort()`函数结合自定义比较函数来将数组从大到小进行排序。以下是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
bool compare(int a, int b) {
return a > b;
}
int main() {
int arr[] = {5, 2, 7, 1, 9};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, compare);
cout << "从大到小排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
运行该代码,输出结果将会是:9 7 5 2 1,即将数组从大到小进行了排序。在自定义的比较函数中,我们使用了`a > b`的比较方式来实现从大到小排序。
sort函数从大到小 c++
在C++中,如果你想要对一组数值从大到小进行排序,你可以直接使用`std::sort()`函数,但是默认情况下它会按升序排列。如果你想要降序排序,你需要自定义一下比较规则。这里是一个例子,展示了如何使用`greater<int>()`对象配合`std::sort()`来实现降序排序:
```cpp
#include <algorithm> // 包含sort函数和greater头文件
#include <vector>
// 自定义降序排序比较器
bool compareDescending(int a, int b) {
return a > b;
}
int main() {
std::vector<int> numbers = {5, 2, 9, 1, 7}; // 待排序的数列
// 使用自定义比较器进行降序排序
std::sort(numbers.begin(), numbers.end(), compareDescending);
// 输出排序后的结果
for (const auto &num : numbers) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
```
运行这个程序,你会看到数字从大到小排列。