c++ map根据key排序
时间: 2023-11-03 14:51:41 浏览: 184
对Map的key和value进行排序
你可以使用`std::map`来存储键值对,并且使用自定义的比较函数来对key进行排序。下面是一个示例代码:
```cpp
#include <iostream>
#include <map>
bool compareKeys(int a, int b) {
return a < b;
}
int main() {
std::map<int, std::string, decltype(compareKeys)*> myMap(compareKeys);
myMap[3] = "Apple";
myMap[1] = "Banana";
myMap[2] = "Orange";
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
输出结果会按照key的升序进行排序:
```
1: Banana
2: Orange
3: Apple
```
在示例中,我们定义了一个`compareKeys`函数作为自定义的比较函数,用来指定按照key的大小进行排序。然后在创建`std::map`对象时,将该函数作为参数传入。这样,插入和遍历时,map会根据key的顺序进行排序。
阅读全文