set集合容器使用一种称为红黑树的平衡二叉检索树的数据结构,来组织泛化的元素数据,每个节点包含一个取值红色或黑色的颜色域,以利于进行树的平衡处理。作为节点键值的元素的插入,必须确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值。不会将重复的键值插入容器,也不需指定具体的插入位置,而按元素在树中的关联关系,进行位置检索和插入,元素的删除亦然。
元素数据的检索,使用的是二叉检索树的中序遍历算法,检索的效率高于vector、deque和list等容器。由于采用中序遍历算法可将二叉检索树的键值,由小到大排列遍历出来,因此set集合容器蕴含于元素间的有序性。
一、set技术原理
红黑树是一种特殊的二叉检索树,不仅set容器应用红黑树,其他容器如multiset、map和multimap也应用红黑树进行元素的链接。
二、set应用基础
#include <set>
1、元素的插入
2、元素的删除
3、元素的遍历访问
4、元素的反向遍历
5、元素的搜索
#include <set>
#include <iostream>
int main(void) {
using namespace std;
set<int> s;
s.insert(10);
s.insert(15);
s.insert(11);
s.insert(17);
s.insert(13);
s.insert(19);
//
int v = 13;
set<int>::iterator i_v = s.find(v);
cout << *i_v << endl;
//
v = 60;
i_v = s.find(v);
if (i_v != s.end() )
cout << *i_v << endl;
return 0;
}
6、其他的常用函数
本文介绍了set容器如何使用红黑树这种平衡二叉检索树数据结构存储元素,并确保元素的唯一性和有序性。文中还提供了set容器的基本操作示例,包括元素的插入、查找、删除等功能。
set集合容器&spm=1001.2101.3001.5002&articleId=77764806&d=1&t=3&u=5575cfc6e26b4ff299a8a4f54e2ac93c)
1007

被折叠的 条评论
为什么被折叠?



