有序關聯容器:基於乙個序標準(預設是<)進行查詢。這類容器用平衡二叉樹實現,通常是紅黑樹。
無需關聯容器:基於乙個雜湊函式進行查詢。這類容器用雜湊表實現,採用溢位鍊錶策略。
兩類容器都支援:
map
set 不帶值的map,或者說關鍵字就是值。
初始化:
map> locations},}
};
基本操作:
v = c[k]
v = c.at(k)
p = c.find(k)
p = c.lower_bound(k)
p = c.upper_bound(k)
pair(p1,p2) == c.equal_range(k)
mapdictionary;
dictionary["sea"] = "large body of water"; //insert
atuo q = dictionary.find("seal");
if(q==dictionary.end())
else
cout q->second;
set以結構體為引數
struct record;
bool operator < (const record& a, const record& b)
setmr ,};
關聯容器set map的使用
關聯容器是stl容器的另一組成部分,關聯容器的底層是紅黑樹,容器會根據值進行自動調整排序。map與set的底層資料結構決定了他們不會有重複的元素,set.count 函式返回的結果只能整數 0 或 1,1表示有這個元素,0表示沒有這個元素 與其功能相似的還有函式find find 函式返回值是乙個迭...
STL之關聯式容器set map
1.管理元素集合的stl容器大致分為兩類,序列式容器 有順序的集合 和關聯式容器 經過排序的集合 2.關聯式容器再管理資料的過程中會自動給元素排序。其優點在於可以隨時採用二分搜尋法,搜尋元素的效率極高。1.set是根據元素值進行排序的集合,所插入的元素在集合中唯一,不存在重複元素。1.include...
關聯式容器 set,map的使用與辨別。
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...