set介紹
C++ 集合(set)是一種包含已排序對象的關聯容器,能夠自動對進入集合的元素排序,並且不允許重複(另一類集合(multiset)提供對重複元素的支持)。集合中的元素可以是常見類型,也可以是自定義的接口提類型。set容器有2個主要特徵:
(1)不能直接改變元素值,因爲那樣會打亂原本正確的順序,要改變元素值必須先刪除舊元素,再插入新元素。
(2)不提供直接存取元素的任何操作函數,只能通過迭代器(iterator)進行間接存取,可以將迭代器類比成C裏的指針。
C++標準模板庫提供通用的set模板,需要添加頭文件#include<set>
常用操作
1.插入:insert()
2.中序遍歷:
set<int> s;
......
set<int>::iterator it; //定義迭代器
//中序遍歷集合中的所有元素
for(it=s.begin();it!=s.end();it++)
......
3.刪除:
set<int> s;
s.erase(2); //刪除鍵值爲2的元素
s.clear(); //清除所有元素
4.元素檢索:
set<int> s;
set<int>::iterator it;
it = s.find(2);//查找鍵值爲2的元素
if(it != s.end());
cout<<"已找到"<<endl;
else
cout<<"沒找到"<<endl;