在C++中,unordered_map是一個無序容器,不支持直接排序。但是可以通過將unordered_map中的元素復制到其他有序容器(如vector或map)中,然后對該容器進行排序。以下是一個示例:
#include <iostream>
#include <unordered_map>
#include <vector>
#include <algorithm>
int main() {
std::unordered_map<int, std::string> myMap;
myMap.insert({3, "Apple"});
myMap.insert({1, "Banana"});
myMap.insert({2, "Orange"});
// 將unordered_map的元素復制到vector中
std::vector<std::pair<int, std::string>> vec(myMap.begin(), myMap.end());
// 對vector進行排序
std::sort(vec.begin(), vec.end());
// 輸出排序后的結果
for (const auto& pair : vec) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
輸出結果將按照鍵的升序進行排序:
1: Banana
2: Orange
3: Apple
請注意,unordered_map是基于哈希表實現的,對于無序容器而言,排序是不符合其設計目的的。如果需要有序的鍵值對存儲,可以考慮使用map容器。