set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。
构造set集合主要目的是为了快速检索,不可直接去修改键值。
头文件
#include<set>
操作:
以set<int>a为例
1.插入元素
a.intsert(x)
2.删除元素
a.erase(2);//删除键值为2的元素
a.clear();//清空
3.查找元素
find(),若找到,返回该键值迭代器的位置,否则,返回最后一个元素后面一个位置。 set<int>::iterator it; it=a.find(5);//查找键值为5的元素 if(it!=a.end())//找到 cout<<*it<<endl; else //未找到 cout<<"未找到";