1.删除单个元素
#include<iostream>
#include<set>
using namespace std;
int main()
{
set<int>st;
for(int i=1;i<=3;i++)
st.insert(i);
st.erase(st.find(2));//删除元素2
//此处直接st.erase(2)也可以
for(set<int>::iterator it=st.begin();it!=st.end();it++)
cout<<*it<<" "<<endl;
return 0;
}
输出结果
1 3
2.删除一个区间内的所有元素
st.erase(frist,last)即删除[frist,last)内的元素,时间复杂度为O(last-frist)
#include<iostream>
#include<set>
using namespace std;
int main()
{
set<int>st;
set<int>::iterator it;
for(int i=1;i<=3;i++)
st.insert(i);
st.erase(st.find(2),st.end());//删除元素2至set末尾之间的元素
for(it=st.begin();it!=st.end();it++)
cout<<*it<<endl;
return 0;
}
输出结果
1