set翻译为集合,是一个内部自动有序且不含重复元素的容器
如需使用需要添加头文件
#include<set>
using namespace std;
1.set的定义
set<typename>name
实例如:
set<int>name;
set<double>name;
set<char>name;
set<node>name;//node是结构体类型
set<int>a[100];//数组类型
2.set容器内元素的访问
与vector不同,set只能通过迭代器(iterator)访问,并用*it来访问其中的元素例如:
set<int>::iterator it;
set<char>::iterator it;
由于除开vector和string之外的STL容器都不支持*(it +i)的访问方式,因此只能按如下方式枚举:
set<int>st;
for(set<int>::iterator it = st.begin();it != st.end();it++)
printf("%d",*it);
3.set常用函数实例解析
第一个:insert()
定义:insert(x)可将x插入set容器中,并自动递增排序和去重
第二个:find()
定义:find(value)返回set对应值为value的迭代器
第三个:erase()
定义:一种删除方法是erase(it),里面为迭代器,另一种是erase(value),里面放的是指。还可以删除区间内的元素,如st.erase(st.begin(),st.end());
第四个:size()
定义:用于获取set内元素的个数
第五个:clear()
定义:清空set中的元素