【问题标题】:C++ hash table implementation with collision handling具有冲突处理的 C++ 哈希表实现
【发布时间】:2011-02-17 15:13:33
【问题描述】:

什么是类似于 java 提供的用于哈希表/哈希映射的好 C++ 库。我使用过 Google Sparsehash,但它不支持冲突。

【问题讨论】:

    标签: c++ hashtable hashmap


    【解决方案1】:

    除了其他答案中提到的之外,您还可以尝试MCTclosed_hash_maplinked_hash_map。它在内部类似于 Google SparseHash,但不限制使用的值并具有其他一些功能优势。

    不过,我不确定我是否理解您所说的“不支持碰撞”是什么意思。当然,Google SparseHash 和类似实现的 MCT 都可以很好地处理冲突,尽管与 Java 的 HashMap 不同。

    【讨论】:

      【解决方案2】:

      使用std::unordered_map(或unordered_multimap),尽管它的名字是一个哈希表——它将成为下一个C++标准的一部分,并且在大多数当前的C++实现中都可用。不要使用您的实现可能提供的名称中带有 hash 的类 - 它们不是标准的,也不会是标准的。

      【讨论】:

        【解决方案3】:

        http://www.sgi.com/tech/stl/hash_multimap.html

        std::tr1::unordered_multimap

        【讨论】:

          猜你喜欢
          • 2017-02-20
          • 1970-01-01
          • 1970-01-01
          • 2013-09-01
          • 2015-04-07
          • 2011-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多