是否有任何 C++ 函数可以对 Hash table 进行排序?
Is there any C++ function to sort a Hash table?
我想知道如何在 C++ 中根据其值(不是键,因为映射可用于此)对 unordered_map 进行排序。
我知道一种解决方案是将其值复制到一个向量,然后对该向量进行排序。但是,有什么功能可以做到吗?
没有函数,但它是一个简单的两行代码:
auto vec = std::vector<std::pair<TKey, TValue>>(begin(map), end(map));
std::sort(begin(vec), end(vec), [](auto a, auto b) { return a.second < b.second; });
我想知道如何在 C++ 中根据其值(不是键,因为映射可用于此)对 unordered_map 进行排序。 我知道一种解决方案是将其值复制到一个向量,然后对该向量进行排序。但是,有什么功能可以做到吗?
没有函数,但它是一个简单的两行代码:
auto vec = std::vector<std::pair<TKey, TValue>>(begin(map), end(map));
std::sort(begin(vec), end(vec), [](auto a, auto b) { return a.second < b.second; });