set 内的元素自动递增排序,且自动去除了重复元素。
set 只能通过迭代器(iterator)访问容器内的元素。
1. insert(x)
2. find(value)
#include<stdio.h>
#include<set>
using namespace std;
int main()
{
set<int> st;
for(int i = 1; i <= 3; i++)
{
st.insert(i);
}
set<int>::iterator it = st.find(2);
printf("%d\n", *it);
return 0;
}
3. erase()
① 删除单个元素。
- st.erase(it)
- st.erase(value)
#include<stdio.h>
#include<set>
using namespace std;
int main()
{
set<int> st;
st.insert(100);
st.insert(200);
st.insert(100);
st.insert(300);
st.erase(st.find(100));
st.erase(200);
for(set<int>::iterator it = st.begin(); it != st.end(); it++)
{
printf("%d ", *it);
}
return 0;
}
② 删除区间元素。
#include<stdio.h>
#include<set>
using namespace std;
int main()
{
set<int> st;
st.insert(20);
st.insert(10);
st.insert(40);
st.insert(30);
set<int>::iterator it = st.find(30);
st.erase(it, st.end());
for(set<int>::iterator it = st.begin(); it != st.end(); it++)
{
printf("%d ", *it);
}
return 0;
}