C ++(pre-C ++ 11)中是否存在哈希表?

时间:2015-03-02 04:52:21

标签: c++ hashtable

我正在寻找以大多数教科书解释它的方式实现哈希表的东西,具有恒定时间插入/删除/搜索。我知道std :: unordered_map,但我正在寻找一些没有C ++ 11的东西。我知道如何从头开始创建这个类,但这不是我想要的。

2 个答案:

答案 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_sethash_map。您只需包含其头文件即可使用它们。但首先,您必须确保您的编译器支持它。