碰撞处理的C++哈希表实现
答
除了在其他答案中提到的那些,你可以试试MCT的closed_hash_map
或linked_hash_map
。它在内部类似于Google SparseHash,但不限制使用的值并具有其他一些功能优势。
虽然我不确定我是否明白“不支持碰撞”的含义。 Google SparseHash和类似实现的MCT当然都可以处理碰撞,但与Java的HashMap
不同。
答
使用std::unordered_map(或unordered_multimap),但它的名字是一个哈希表 - 这将是下一个C++标准的一部分,并且可在最目前的C++实现。不要在您的实施可能提供的名称中使用hash
的类 - 它们不是也不会是标准的。
也可用于Boost。 – doublep 2010-05-10 14:41:34