C++ STL----- Set容器
1、简介:底部为红黑树实现,效率较高。
2、作用:自动去重 + 升序排序 + 快速搜索
3、创建方法:具体见:https://blog.csdn.net/sinat_37158899/article/details/79328104
#include <set> #写入头文件
#include <iostream>
using namespace std;
int main()
{
L first = 1;
L t = 3;
set <L> s;
s.insert(t);
}
set其他创建方法:
set<int > seta; //默认是小于比较器less<int>的set
set<int, greater<int> > setb; //创建一个带大于比较器的set,需包含头文件functional
int a[5] = {1,2,3,4,5};
set<int > setc(a,a+5); //数组a初始化一个set;
set<int > setd(setc.begin(),setc.end()); //setc初始化一个set
//上述两例均为区间初始化
4、常用函数调用
s.begin() 返回set容器的第一个元素
s.end() 返回set容器的最后一个元素
s.clear() 删除set容器中的所有的元素
s.empty() 判断set容器是否为空
s.insert() 插入一个元素
s.erase() 删除一个元素
s.size() 返回当前set容器中的元素个数
s.find() 查找一个元素,如果容器中不存在该元素,返回值等于s.end()
s.lower_bound() 返回第一个大于或等于给定关键值的元素
s.upper_bound() 返回第一个大于给定关键值的元素
s.equal_range() 返回一对定位器,分别表示第一个大于或等于给定关键值的元素和第一个大于给定关键值
的元素,这个返回值是一个pair类型,如果这一对定位器中哪个返回失败,就会等于
s.end()
例题: