2015-03-02 39 views
2

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

+4

'std :: tr1 :: unordered_map'。 – Rapptz 2015-03-02 04:53:46

回答

3

Boost库是要走的路。 Boost的许多创始人都是C++标准委员会成员,Boost的库/ API经常进入标准。

boost::unordered_map将是你想要的。它的API非常类似于C++ 11的std::unordered_map。底层表示是一个分段哈希表(很像unordered_map)。

0

在C++ 11之前,哈希不是C++标准的一部分,但大多数STL实现hash_sethash_map。你可以通过简单的包含头文件来使用它们。但首先你必须确保你的编译器支持它。