1.定义:翻译为集合,内部递增有序,并且不包含重复的元素的容器
使用set之前需要添加头文件#include<set> 在加上using namespace std;
set<typename> name;
其他的写法规则跟vector相同,其实c++的容器定义都很类似
2.set的访问 :只能通过迭代器访问
set<typename> ::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的常用函数
(1)insert(x) 将元素插入set容器,并自动递增排序且去重,时间复杂度为O(log N) ,N为元素个数
(2)find(value) 返回对应值为value的迭代器it(类似于指针进行访问),时间复杂度为O(log N),N为元素的个数
(3)erase() 用法同vector
(4)szie()
(5)clear()