C++容器从大到小排序
时间: 2023-09-11 10:11:13 浏览: 47
可以使用 `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;
}
```
该代码使用冒泡排序算法,从大到小排序整数数组。可以通过修改数组元素来排序不同的容器。
c++map按key从大到小
在 C++ STL 中,`map` 容器默认按照键(`key`)从小到大的顺序进行排列。如果想要按照键从大到小的顺序进行排列,可以使用反向迭代器(`reverse_iterator`)对 `map` 进行遍历。
以下是一个示例代码:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
// 定义一个 map 容器
map<int, string> myMap = {
{2, "apple"},
{5, "banana"},
{1, "orange"},
{3, "pear"},
{4, "watermelon"}
};
// 使用反向迭代器遍历 map
for (auto it = myMap.rbegin(); it != myMap.rend(); ++it) {
cout << it->first << " " << it->second << endl;
}
return 0;
}
```
上述代码会输出:
```
5 banana
4 watermelon
3 pear
2 apple
1 orange
```
其中 `rbegin()` 和 `rend()` 函数分别返回反向迭代器的起始和结束位置,`it->first` 和 `it->second` 分别表示当前迭代器指向的键和值。由于是反向迭代器,因此输出的是按照键从大到小排列的结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)