C ++实现了数据结构库?

时间:2012-02-20 18:24:58

标签: c++

我已经使用java很长时间了,看到有大量数据结构的实现,如列表,哈希表,队列,额外的树。但是现在我更关心c ++ 是否有以前为这些数据结构实现的库?

5 个答案:

答案 0 :(得分:7)

是的,它被称为标准模板库,或者最近,它们被认为是标准库的一部分。

您可以使用:

std::vector<T>
std::queue<T>
std::dequeue<T>
std::set<T>
std::map<T>
std::multiset<T>
std::multimap<T>

和散列表也适用于大多数平台,尽管它们是最新增加的。它们每个都需要一个自己名称的头文件,但multiset和multimap除外,它们都在set和map下。

整个网站都有各种例子(如每个问题),所以只需选择一个并浏览。

答案 1 :(得分:3)

标准库包括std::liststd::unordered_mapstd::queuestd::set / std::map,分别是列表,哈希表,队列和树

答案 2 :(得分:2)

其他人提到的C ++ STL很有用,但与Java的标准库集相比相当有限。您可能还想查看常用的Boost C++ Libraries - 您几乎可以将其视为STL的扩展(实际上,一些Boost库已经使其成为新的C ++标准)。

答案 3 :(得分:0)

你应该看看c ++ STL。这是一些解释 http://www.cplusplus.com/reference/stl/

STL是一个集合C ++库,允许您使用多个数据结构。

答案 4 :(得分:0)

默认情况下,在c ++中你有stl库http://www.cplusplus.com/reference/stl/ map,queue,list,deque,vector ..

至于树木等更复杂的东西,到处都有数以百万计的例子和图书馆。通常情况下,你需要一棵特殊的树,也许是一棵红黑树。你学习和开发一个或者你试图找到一个拥有它的库。