c++ sort 降序排列
时间: 2023-09-12 10:06:17 浏览: 42
你可以使用C语言中的标准库函数`qsort()`来对数组进行排序。下面是一个示例代码,演示如何以降序排列数组:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于qsort()排序
int compare(const void *a, const void *b) {
// 将指针转换为所需类型
int *numA = (int *)a;
int *numB = (int *)b;
// 降序排列
return (*numB - *numA);
}
int main() {
int arr[] = {5, 2, 8, 7, 1};
int size = sizeof(arr) / sizeof(arr[0]);
// 使用qsort()进行排序
qsort(arr, size, sizeof(int), compare);
// 打印排序结果
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码使用`qsort()`函数对整数数组`arr`进行降序排列。`compare()`函数用于比较两个整数,并根据降序排列的要求返回相应的值。最后,使用循环打印排序后的数组元素。运行代码将输出:8 7 5 2 1。
相关问题
sort降序排列函数c++
在C++中,可以使用标准库中的sort函数来对或容器进行排序。sort函数默认是按照升序排列的,如果需要降序排列,可以通过自比较函数来实现。
下面是一个示例代码,演示如何使用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::sort(nums.begin(), nums.end(), compare);
// 输出排序结果
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
运行以上代码,输出结果为:9 8 5 2 1,即按照降序排列的结果。
sort降序排列c++
答案: 要使用sort函数进行降序排列,可以使用以下方法:sort(a, a + 10, greater<int>()),其中a是一个包含10个整数的数组。这样就可以将数组a按照降序排列。这种方法的时间复杂度是O(nlogn),执行效率较高。不过需要注意的是,在使用sort函数之前需要包含<algorithm>头文件。