C++中的set翻译为集合,是一个内部自动有序且不含重复元素的容器。如果要使用set,需要添加#include<set>头文件,set的定义为set<typename> name;,例如set<int> a[100],set只能通过迭代器(iterator)访问↓↓↓
set<typename>::iterator it;set容器中常用的函数有insert(),find(),erase(),size,clear。
①insert(x)可将x插入set容器中,并自动递增排序和去重。
②find(y)返回set中对应值为y的迭代器。
③erase(it)为删除此元素,erase(first,last)可以删除区间[first,last)内的所有元素。
④size()用来获得set内元素的个数。
⑤clear()用来清空set中的所有元素。
set容器整体实现如下代码:
#include<iostream> #include<set> using namespace std; int main() { set<int> st; for(int i=1;i<=5;i++) st.insert(i);//依次输入元素1至5 for(set<int>::iterator it=st.begin();it!=st.end();it++) cout<<*it<<" ";//将其依次输出 cout<<endl;//换行 set<int>::iterator it=st.find(3);//利用find函数在set容器中找到元素3 cout<<*it<<endl;//将其输出 st.erase(st.find(4));//删除set容器中值为4的元素 for(set<int>::iterator it=st.begin();it!=st.end();it++) cout<<*it<<" ";//输出删除4之后的迭代器所有元素 cout<<endl;//换行 st.erase(st.find(2),st.end());//将set容器中元素2至末尾的元素全部删除 for(set<int>::iterator it=st.begin();it!=st.end();it++) cout<<*it<<" ";//输出 cout<<endl;//换行 cout<<st.size()<<endl;//输出set容器中现有元素个数 st.clear();//清空set容器中的所有元素 cout<<st.size()<<endl;//再次输出set容器中的元素个数,此时为0 return 0; }
