sort从大到小排序
时间: 2024-08-13 15:08:25 浏览: 33
`sort`函数在编程中通常用于对容器中的元素进行排序,默认情况下是升序排列。如果你想要按照从大到小(降序)的顺序对整数数组或其他支持比较的类型进行排序,你可以传递一个自定义的比较函数给`sort`函数。
例如,在C++中,你可以使用`std::greater<int>`作为比较器,代码如下:
```cpp
#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers = {5, 2, 9, 1, 7};
// 使用greater进行降序排序
std::sort(numbers.begin(), numbers.end(), std::greater<int>());
// 打印排序后的结果
for (const auto &num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
运行这段代码后,`numbers`数组将被降序排列,输出为:9 7 5 2 1。
相关问题
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从大到小排序
要使用`std::sort`函数将数据从大到小排序,您可以使用自定义的比较函数来指定排序顺序。以下是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
bool compare(int a, int b) {
return a > b;
}
int main() {
std::vector<int> nums = {5, 2, 8, 1, 9};
std::cout << "原始数组:";
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
std::sort(nums.begin(), nums.end(), compare);
std::cout << "从大到小排序后的数组:";
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,我们定义了一个名为`compare`的比较函数,它返回`a > b`,即按从大到小的顺序进行排序。然后,我们使用`std::sort`函数将`nums`向量按照这个自定义的比较函数进行排序。
输出结果:
```
原始数组:5 2 8 1 9
从大到小排序后的数组:9 8 5 2 1
```
通过自定义比较函数,我们可以控制`std::sort`函数的排序顺序,从而实现从大到小排序的效果。
希望这个示例对您有所帮助!如果您有其他问题,请随时提问。