int array[9]
=;set<
int>
s(array,array+
sizeof
(array)
/array
(int))
;//用陣列對set進行初始化。
for(
auto it = s.
begin()
;it != s.
end(
);it++
) cout <<
*it <<
" ";
cout << endl;
for(
auto
&e : s)
cout << endl;
std :
: set<
int>
:: iterator it = s.
begin()
;while
(it != s.
end())
cout << endl;
set<
int> s1;
s1.insert(6
);s1.insert(1
);s1.insert(4
);s1.insert(3
);s1.insert(9
);s1.insert(1
);s1.insert(2
);s1.insert(1
);for(
auto
&e : s1)
cout << endl;
s1.erase(1
);for(
auto
&e : s1)
cout << endl;
int ret = s1.
find(9
);if(ret != s1.
end())
s1.erase
(ret)
;for
(auto
&e : s1)
cout << endl;
map m1,}
;
map m;
m.insert
(pair
("a"
,"小花"))
; m.
insert
(make_pair
("b"
,"小亮"))
; m[
"e"]
="小藍"
;
利用map統計次數:
int str=
; map<
int,
int> countmap;
for(
const
auto
&e : str)
cout << countmap[5]
<< endl;
setmultiset
mapmultimap
元素的儲存
是否去重是否
是否是否有序
有序有序
有序有序
排序標準
弱排序弱排序
key小於
key小於
是否允許修改否否
否否底層原理
紅黑樹紅黑樹
紅黑樹紅黑樹
是否支援operator否否
是否元素查詢效率
時間複雜度o(logn)
時間複雜度o(logn)
時間複雜度o(logn)
時間複雜度o(logn)
所以,multiset可用來對元素進行排序;
map支援下標訪問符,在[ ]中放入key值,會找到相應的value值;
map的內部是根據key值進行比較的;
map中的key是唯一的,multimap中的key是可以重複的。
關聯容器set map的使用
關聯容器是stl容器的另一組成部分,關聯容器的底層是紅黑樹,容器會根據值進行自動調整排序。map與set的底層資料結構決定了他們不會有重複的元素,set.count 函式返回的結果只能整數 0 或 1,1表示有這個元素,0表示沒有這個元素 與其功能相似的還有函式find find 函式返回值是乙個迭...
關聯容器 set map
有序關聯容器 基於乙個序標準 預設是 進行查詢。這類容器用平衡二叉樹實現,通常是紅黑樹。無需關聯容器 基於乙個雜湊函式進行查詢。這類容器用雜湊表實現,採用溢位鍊錶策略。兩類容器都支援 map set 不帶值的map,或者說關鍵字就是值。初始化 map locations 基本操作 v c k v c...
STL之關聯式容器set map
1.管理元素集合的stl容器大致分為兩類,序列式容器 有順序的集合 和關聯式容器 經過排序的集合 2.關聯式容器再管理資料的過程中會自動給元素排序。其優點在於可以隨時採用二分搜尋法,搜尋元素的效率極高。1.set是根據元素值進行排序的集合,所插入的元素在集合中唯一,不存在重複元素。1.include...