一、deque queue stack 深度探索
1. 邏輯上, deque是雙向開口的連續(xù)線性空間。
2. 標(biāo)準(zhǔn)庫具體實現(xiàn)上汤锨, 內(nèi)部是分段連續(xù)的, 通過map將各個連續(xù)的進(jìn)行串聯(lián)百框。
3. 通過中控(map)闲礼,緩沖區(qū), 迭代器 (這里是個random_access_iterator_tag類型)
4. 內(nèi)部處理過程中遇到緩沖區(qū)編輯通過 set_node函數(shù)完成緩沖區(qū)之間跳轉(zhuǎn)
5. stack铐维, queue可以選擇list柬泽, 的卻做為一個底部結(jié)構(gòu), 并且不提供iterator
二嫁蛇、RB-tree 深度探索
1. 紅黑樹是一種平衡二叉搜索樹锨并。提供兩種insertion insert_unique(), insert_equal()
三、set/multiset 深度探索
1. set/multiset 以 rb_tree為底層結(jié)構(gòu)睬棚;
2. set/muliset 無法使用iterators改變元素琳疏。(const iterator)
3. set 可以是唯一的有决, multiset key可以重復(fù)
四、map/multimap深度探索
1. map/multimap 以 rb_tree為底層結(jié)構(gòu)空盼;
2. map/mulimap 無法使用iterators改變key可以改變data。
3. map可以是唯一的新荤, multimap key可以重復(fù)
五揽趾、hashtable深度探索
1. 系統(tǒng)配置buckets數(shù)量質(zhì)數(shù)列表,取值大致為實際數(shù)量的2倍苛骨;
2. 超過buckets數(shù)量后篱瞎, 擴充buckets, 重新hash痒芝;
3. buckets 使用vector 進(jìn)行管理俐筋, 數(shù)據(jù)存放再buckets執(zhí)行的一個類似鏈表的結(jié)構(gòu)上。?
4. hash_set/hash_multiset, hash_map/hash_multimap
5严衬、unordered 容器的概念 :對應(yīng) unodered_set, unordered_multiset, unodered_map, unordered_multimap