關聯容器 set map

2021-07-30 19:49:18 字數 781 閱讀 5358

有序關聯容器:基於乙個序標準(預設是<)進行查詢。這類容器用平衡二叉樹實現,通常是紅黑樹。

無需關聯容器:基於乙個雜湊函式進行查詢。這類容器用雜湊表實現,採用溢位鍊錶策略。

兩類容器都支援:

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...