首页 > 解决方案 > STL set/map 是如何在内部排序的?

问题描述

我知道像 set 和 map 这样的 STL 容器是排序的,但是它们实际上是如何排序的?底层结构是什么?

我找不到任何关于它的书。


我是 C++ 初学者,请不要评判我。:)

标签: c++sortingstl

解决方案


对于std::mapstd::set,它是由实现定义的排序方式。底层数据结构应该以某种方式对元素进行排序:

在内部,a 中的元素始终按照其内部比较对象(Compare 类型)指示的特定严格弱排序标准map按其键排序。

(同样适用于set。)

这些容器的典型数据结构是红黑树二叉搜索树


推荐阅读