我正在查看 STL std::map
的实现方式。我知道它是使用红黑树实现的。因此,出于了解实现效率的原因,我只是想知道如何在 STL 中实现红黑树。
std::map
包括 STL_tree.h
。这是实现红黑树的地方。
所有函数(插入发生的地方)抽象插入并调用_Rb_tree_insert_and_rebalance
函数。但是我找不到这个的实现。
有什么实现的想法吗?
最佳答案
它完全是特定于实现的,但是,我认为您的意思是 libstdc++
,因此,由于实现是开源的 - 您可以在源文件中搜索此函数。在 gcc-4.8
中,此函数位于文件 libstdc++-v3/src/c++98/tree.cc
中。
例如,您可以在这里搜索:github gcc sources
关于c++ - STL Map _Rb_tree_insert_and_rebalance 在哪里实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16853644/