C++里set是什么实现的
时间: 2024-06-06 11:05:42 浏览: 38
在 C++ 中,set 是使用红黑树实现的。红黑树是一种自平衡二叉查找树,它是由一些节点组成,每个节点有一个键值和指向左右子节点的指针。红黑树保证了每个节点都满足以下性质:
1. 每个节点要么是红色,要么是黑色。
2. 根节点是黑色的。
3. 每个叶节点(NIL节点,空节点)是黑色的。
4. 如果一个节点是红色的,则其子节点都是黑色的。
5. 从任意一个节点到其每个叶子节点的所有路径都包含相同数目的黑色节点。
在 set 中,每个元素都被存储在红黑树的一个节点中,而且每个元素都唯一。因为红黑树是自平衡的,所以 set 的插入、删除和查找操作都具有较好的时间复杂度。
阅读全文