相关疑难解决方法(0)

unordered_map真的无序吗?

我对'unordered_map'这个名字感到很困惑.该名称表明钥匙根本没有订购.但我一直认为它们是按哈希值排序的.或者是错误的(因为这个名字意味着他们没有订购)?

或者说不同:是吗?

typedef map<K, V, HashComp<K> > HashMap;
Run Code Online (Sandbox Code Playgroud)

template<typename T>
struct HashComp {
    bool operator<(const T& v1, const T& v2) const {
        return hash<T>()(v1) < hash<T>()(v2);
    }
};
Run Code Online (Sandbox Code Playgroud)

同样的

typedef unordered_map<K, V> HashMap;
Run Code Online (Sandbox Code Playgroud)

?(好吧,不完全是,STL会在这里抱怨,因为可能有键k1,k2,k1 <k2和k2 <k1都没有.你需要使用multimap并覆盖等号检查.)

或者不同的是:当我遍历它们时,我可以假设密钥列表按其哈希值排序吗?

c++ unordered-map hashmap

13
推荐指数
2
解决办法
6347
查看次数

标签 统计

c++ ×1

hashmap ×1

unordered-map ×1