具有冲突处理的C ++哈希表实现

时间:2010-05-10 11:26:03

标签: c++ hashtable hashmap

什么是用于哈希表/哈希映射的优秀C ++库,类似于java提供的。我曾与Google Sparsehash合作,但它不支持碰撞。

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

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

std::tr1::unordered_multimap

答案 2 :(得分:1)

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

但是,我不确定我理解“不支持碰撞”是什么意思。谷歌SparseHash和类似实现的MCT当然处理冲突很好,虽然不同于Java的HashMap