#include <iostream>
#include <set>
using namespace std;
///set是一个内部自动有序且不含重复元素的容器
int main()
{
set<int> st;
//插入数据
st.insert(5); //时间复杂度O(logN)
st.insert(4);
st.insert(10);
st.insert(3);
st.insert(7);
st.insert(15);
st.insert(6);
//遍历输出
for(set<int>::iterator it=st.begin();it!=st.end();it++) //不应写成it<st.end()
cout<<*it<<" ";
cout<<endl;
//寻找数据(1)
set<int>::iterator it=st.find(5); //find()返回可理解为指向被查找数据的指针
cout<<*it<<endl;
//寻找数据(2)
cout<<*(st.find(4))<<endl;
//删除元素(单个)
st.erase(st.begin()); //无法用begin()+2之类的
st.erase(7); //删除元素7
st.erase(st.find(6)); //查找到元素6并删除
//删除元素(多个)
st.erase(st.find(10),st.end()); //左闭右开
//获得元素个数
cout<<"size:"<<st.size()<<endl;
//清空元素
st.clear();
cout<<"size:"<<st.size()<<endl;
return 0;
}