STL,set

mac2026-05-28  3

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; }

 

最新回复(0)