为什么C++ STL不提供任何“树”容器,最好的替代方法是什么?
我希望将对象的层次结构存储为树,而不是使用树作为性能增强……
发布于 2008-10-15 20:04:46
STL的理念是根据保证而不是容器的实现方式来选择容器。例如,您对容器的选择可能基于对快速查找的需要。不管您是否关心,容器都可以实现为单向列表--只要搜索速度非常快,您就会满意。这是因为您并没有接触到内部,而是使用迭代器或成员函数进行访问。您的代码不受容器实现方式的限制,而是取决于它的速度,或者它是否具有固定和定义的顺序,或者它在空间上是否有效,等等。
发布于 2011-04-25 19:24:58
如果您正在寻找RB树实现,那么stl_tree.h可能也适合您。
发布于 2008-10-15 19:00:23
map是基于red black tree的。您还可以使用其他containers来帮助您实现自己的树类型。
https://stackoverflow.com/questions/205945
复制相似问题