c++map按key从大到小
时间: 2023-08-01 20:12:38 浏览: 115
基于C++ map中key使用指针问题的详解
5星 · 资源好评率100%
在 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` 分别表示当前迭代器指向的键和值。由于是反向迭代器,因此输出的是按照键从大到小排列的结果。
阅读全文