insert到容器中後自動從小到大排序
元素不會重複插入
輸出用迭代器 正向iterator 反向reverse_iterator
it, s.begin(), s.end() 均為位址 輸出加*
1 插入 s.insert();
2 獲得當前元素個數 s.size();
3 查詢set中元素 s.find() != s.end() 則找到; s.count()作用類似
4 清空 s.clear();
5 判斷是否為空 s.empty();
6 刪除 s.erase(位址) 用it = s.find(元素)找到位址 之後刪除
int main() ;
for(int i = 0; i < 6; i++) s.insert(a[i]);
set::iterator it; //正向迭代器 小->大
for(it = s.begin(); it != s.end(); it++) printf("%d\n", *it);
set::reverse_iterator rit; //反向迭代器 大->小
for(rit = s.rbegin(); rit != s.rend(); rit++)
printf("%d *\n", *rit);
printf("size %d\n", s.size());
if(s.find(1) == s.end()) ; //沒找到返回s.end() 找到則為元素位址
it = s.find(2); //刪除元素2
s.erase(it);
for(it = s.begin(); it != s.end(); it++) printf("%d\n", *it);
}
set容器的用法
所有元素都會根據元素的鍵值自動排序,set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。set的元素不像map那樣可以同時擁有實值 value 和鍵值 key set成員函式列表如下 begin 返回指向第乙個元素的迭代器 clear 清除所有元素 count 返回某個值元素的...
set容器的用法
set是一種關聯容器,儲存有序且唯一的鍵值 其大多用法和vector相同就不多加解釋,只闡述它的特殊性 我個人認為set容器的侷限性還是比較大的,僅認為set可以在排序和清除不必要元素時使用,因為set遍歷的時候只可以用迭代器,而且在刪除元素時不方便。刪除鍵值除外 1.標頭檔案 2.新增元素 a.i...
STL容器之set用法
目錄 一 set容器概念 二 set構造和基本函式介面 三 統計和查詢 set是一種關聯式容器,底層是通過平衡二叉樹 紅黑樹 實現的,插入 刪除和查詢效率都非常高,所有元素插入容器中,會被預設以公升序的形式進行排序,而且不允許插入已經存在且相同的資料元素。此外還有乙個multiset容器,它的底層實...