關聯式容器的總結

2022-01-31 17:29:36 字數 612 閱讀 9362

今天細緻的學習了map和set容器的用法和功能,終於感受到了自己之前對stl的認識還是太少太淺薄了

今天我來總結一下答題的框架

容器首先分為關聯式容器和序列式容器,

簡單的是序列式容器,我先說一下序列式容器,序列式容器其實說白了就是簡單的鍊錶的實現,內部查詢的順序都是按照鍊錶的順序結構來查詢刪除和實現的,

下面說的就是關聯式容器{

再說關聯式容器之前我先介紹幾個知識點:

1二叉搜尋樹,二叉搜尋樹可以分為兩中,一種是平衡二叉樹,另一種是非平衡二叉樹,平衡二叉樹的實現其實就是我們所說的關聯式容器的實現,而非平衡二叉樹的實現就是我們說的序列式容器的實現

下面我們討論的主要是平衡二叉樹的問題2,平衡二叉樹的地城實現就是紅黑樹,也叫做rb tree

當然map和set的實現就是rb tree的實現

之後我們就是介紹我們常見的4種關聯式容器的實現

分別是map multimap set multiset

1set set不區分實值和鍵值,而map區分,map每乙個元素都是乙個pair,前面第乙個元素師鍵值,後面乙個元素是實值,

map、和set都不允許都兩個相同的值

2而multiset和multimap允許有兩個相同的鍵值

STL的關聯式容器總結

map是紅黑樹 一種非嚴格意義上的平衡二叉樹 置於紅黑樹的具體可以看演算法和資料結構,這裡不多說。map的key型別必須要過載 操作符,無法過載時用自定義仿函式代替map的第三個引數,因為map是有序的。map第乙個引數是key,第二個引數是value,第三個引數是compare函式,第四個引數是記...

關聯式容器

關聯式容器是用來儲存資料的,與序列式容器不同的是,其儲存的是結構的鍵值對,在資料檢索時比序列式容器效率更高。鍵值對 用來表示具有一一對應關係的結構,該結構中一般只含兩個成員變數key和value,key代表鍵值,value表示與key對應的資訊。比如 現在要建立乙個英漢互譯的字典,那該字典中必然有英...

C 容器 關聯式容器

由於multimap和map相差不大,所以基本以map做練習 集合 map 是一種包含已 排序 公升序 物件的關聯 容器。map multimap會根據待定的排序準則,自動將元素排序。兩者不同在於前者不允許元素重複,而後者允許。集合元素的第乙個引數是key,第二個元素當做value,元素的順序與ke...