集合是數學中的一個基本概念,通俗地理解,集合是由一些不重復的數據組成的。比如 就是{1,2,3}
一個有1,2,3三個元素的集合。
在 C++ 中我們常用的集合是 set 。
它包含在頭文件#include<set>
中
構造方法:
set< T > name;
就構造了一個存儲數據T的的集合name
基本操作:
插入:
name.insert(T) ;
意為:向name集合里存入數據T
注意如果集合中已經存在了某個元素,再次插入不會產生任何效果,集合中是不會出現重復元素的。
刪除:
name.erase(T);
意為:把name里的T刪除
注意如果集合里面沒有T元素將不會有任何效果!
查找:
name.count(T);
意為:如果集合里有元素T,返回true,否則返回false
注意這個查找的時間復雜度大概在O(log(n)),因為它是一種線性數據結構所以能夠比較快速地查出這個元素
遍歷
這個寫法比較固定:
for(set< T >::iterator it=name.begin();it!=name.end();it++)
可以當做模板背一下!
總結:
另外,集合還有一個非常重要的特性:它里面不會有重復的數據,並且會幫你自動排序!(結構體類型的需要你重新定義符號才能夠正常運行哦)
感謝閱讀
ov.