3

我正在查看 STLstd::map是如何实现的。我知道它是使用红黑树实现的。所以,我只是想知道红黑树是如何在 STL 中实现的,因为我想知道实现的效率如何。

std::map包括stl_tree.h. 这是实现红黑树的地方。

所有函数(插入发生的地方)都抽象了插入和调用_Rb_tree_insert_and_rebalance函数。但我找不到这个的实现。

任何想法在哪里实施?

4

1 回答 1

8

它完全是特定于实现的,但是,我认为您的意思是libstdc++,因此,由于实现是开源的-您可以在源文件中搜索此功能。在gcc-4.8这个函数中是在文件中libstdc++-v3/src/c++98/tree.cc。例如你可以在这里搜索它:github gcc sources

于 2013-05-31T09:09:31.347 回答