点击查看代码
#include<cstdio>
#include<set>
#pragma warning(disable:4996)
using namespace std;
int main() {
/*
set<int> st;
st.insert(3); //insert(x)将x插入set中
st.insert(5); //st内部自动对元素排序,且不含重复元素
st.insert(2);
st.insert(3); //重复元素自动去除
//set容器只能使用迭代器访问元素
//st不支持it<st.end()写法,要使用it!=st.end(),st的迭代器不支持*(it+i)的访问方式
for (set<int>::iterator it = st.begin(); it != st.end(); it++) {
printf("%d", *it); //set:2 3 5
}
*/
/*
set<int> st;
st.insert(3);
st.insert(5);
st.insert(1);
st.insert(2); //st:1、2、3、5
set<int>::iterator it = st.find(1); //将值为1的元素地址赋给迭代器it
printf("%d\n", *it); //输出迭代器it指向的值1
printf("%d\n", *(st.find(1))); //合并写法
printf("%d\n", st.size()); //输出st内的元素个数,即4个
st.clear(); //清空st容器内的所有元素
*/
set<int> st;
st.insert(3);
st.insert(5);
st.insert(1);
st.insert(2); //st:1、2、3、5
st.erase(st.find(1)); //st.erase(it)删除迭代器it指向的元素
st.erase(2); //st.erase(x)删除值为x的元素
st.insert(4); //st:3、4、5
set<int>::iterator it = st.find(4);
st.erase(it, st.end()); //st.erase(first,last)删除[first,last)区间内的所有元素
return 0;
}