1、set的定義
setname;
其定義的寫法和vector基本一樣。如果typename是乙個stl容器,那麼定義時要記得在》符號之間加上空格。
set陣列定義和vector相同
2、set容器內元素的訪問
set只能通過迭代器訪問:set::iterator it; typename指的是定義set時填寫的型別
這樣就得到了迭代器it,並且可以通過*it來訪問set裡的元素
#include#includeusing namespace std;
int main()
輸出結果:
2 3 5
3、set常用函式例項解析
3.1 insert()
insert(x) 將x插入set容器中,並自動遞增排序和去重,時間複雜度o(logn)
3.2 find()
find(value)返回set中對應值為value的迭代器,時間複雜度為o(logn)
#include#includeusing namespace std;
int main()
輸出結果:
2
3.3 erase()
erase()有兩種用法:刪除單個元素、刪除乙個區間內所有元素
3.3.1 刪除單個元素
erase(value) 刪除值為value的元素
3.3.2 刪除乙個區間內所有元素
st.erase(first,last)刪除乙個區間內的所有元素,first為所需要刪除區間的起始迭代器,last為所需要刪除區間的末尾迭代器的下乙個位址,也即為刪除[first,last)。
3.4 size()
size()用來獲得set內元素的個數
3.5 clear()
clear()用來清空set內所有元素
set的常見用法詳解
set譯為集合,是乙個內部自動有序且不含重複元素的容器 有時出現需要去掉重複元素的情況 而且有可能因這些元素比較大或者型別不是int型而不能直接開雜湊表 在這種情況下就可以用set來保留元素本身而不考慮它的個數 當然上面的情況也可以再開乙個陣列進行下標和元素的對應來解決 但是set提供了更為直觀的介...
set的常見用法
set,是乙個內部自動有序且不含重複元素的容器。單獨定義乙個set setname 其中的typename可以是任何基本型別,例如int double char 結構體等,或者stl裡的標準容器,例如vector set queue等。一些簡單例子如 setname setname set只能通過迭...
set函式常見用法
標頭檔案 include 優勢 內部自動從小到大排序且不含重複元素。定義方式 set typename name 注意 除開vector和string之外的stl容器都不支援 it i 即it i 的訪問方式 遍歷方式 for set typename iterator it st.begin it...