我正在寻找以大多数教科书解释它的方式实现哈希表的东西,具有恒定时间插入/删除/搜索。我知道std :: unordered_map,但我正在寻找一些没有C ++ 11的东西。我知道如何从头开始创建这个类,但这不是我想要的。
答案 0 :(得分:3)
Boost库是可行的方法。 Boost的许多创始人都在C ++标准委员会,Boost的库/ API经常进入标准。
boost::unordered_map
就是你想要的。它的API与C ++ 11的std::unordered_map
非常相似。底层表示是一个分段哈希表(很像unordered_map
)。
答案 1 :(得分:0)
在c ++ 11之前,散列不是c ++标准的一部分,但大多数STL实现hash_set
和hash_map
。您只需包含其头文件即可使用它们。但首先,您必须确保您的编译器支持它。