C++容器从大到小排序
时间: 2023-09-11 12:11:13 浏览: 87
可以使用 `std::sort` 算法来对 C++ 容器进行排序,同时使用 `std::greater` 比较器可以实现从大到小的排序。
例如,对一个 `vector<int>` 容器进行从大到小排序的示例代码如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {3, 7, 1, 9, 5};
// 使用 std::sort 和 std::greater 实现从大到小排序
std::sort(vec.begin(), vec.end(), std::greater<int>());
// 输出排序结果
for (const auto& elem : vec) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
9 7 5 3 1
```
相关问题
容器从大到小排序C++
以下是容器从大到小排序的C语言代码:
```
#include <stdio.h>
void bubbleSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j] < arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 7, 3, 9, 1};
int size = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, size);
printf("Sorted array in descending order: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该代码使用冒泡排序算法,从大到小排序整数数组。可以通过修改数组元素来排序不同的容器。
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`会按照从大到小的顺序被打印出来。
阅读全文