unordered_map按key排序
时间: 2023-11-08 17:06:47 浏览: 75
对Map的key和value进行排序
unordered_map是无序的,不支持按key排序。如果需要按key排序,可以将unordered_map中的键值对复制到一个vector中,然后对vector进行排序。
以下是示例代码:
```c++
#include <iostream>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
unordered_map<int, int> myMap = {{3, 30}, {1, 10}, {4, 40}, {2, 20}};
// 将键值对复制到vector中
vector<pair<int, int>> vec(myMap.begin(), myMap.end());
// 按key排序
sort(vec.begin(), vec.end());
// 输出排序后的结果
for (auto& p : vec) {
cout << p.first << " " << p.second << endl;
}
return 0;
}
```
输出结果为:
```
1 10
2 20
3 30
4 40
```
阅读全文