c++sort从大向小
时间: 2024-02-17 12:59:04 浏览: 48
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, 8, 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] << " ";
}
cout << endl;
return 0;
}
```
在上述代码中,我们定义了一个名为compare的比较函数,该函数返回a是否大于b。然后在sort函数中传入compare函数作为第三个参数,这样就可以实现按照降序排序。
相关问题
c++ sort从大到小
要使用C++的sort函数将数组从大到小排序,可以使用以下代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int x, int y) {
return x > y;
}
int main() {
int arr[] = {2, 4, 5, 3, 1};
sort(arr, arr + 5, cmp); for(int i = 0; i < 5; i++) {
cout << arr[i << " ";
}
return 0;
}
```
在这个例子中,我们定义了一个比较函数`cmp`,使得排序的结果是从大到小。然后,我们调用sort函数,传入数组的起始地址和结束地址(`arr`和`arr + 5`),以及比较函数`cmp`。最后,我们使用for循环打印排序后的数组。
sort从大到小排序C++
在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`会按照从大到小的顺序被打印出来。