stl 容器 簡略

2021-08-13 23:06:55 字數 811 閱讀 2257

1.vector:

動態連續陣列,空間不足時分配,重新分配雙倍空間進行儲存,資料的插入和刪除會導致後續資料的拷貝移動

2.list:

雙向迴圈鍊錶,非連續空間

3.map:

紅黑樹,log級別,空間記憶體消耗o(n)

插入:遞迴兩層上公升,最多旋轉2次,3 case

刪除:遞迴1層上公升,最多旋轉3次, 4 case 

4.set:

紅黑樹,log級別,空間記憶體消耗o(n)

與map基本一致,只是其value儲存的就是key

5.multimap:

與map基本一致,只是允許key有重複(_m_insert_equal)

6.multiset:

與set基本一致,只是允許key有重複(_m_insert_equal)

7.hashmap:

雜湊表,vector當桶,衝突鍊錶解決

8.hashset:

同hashmap, value與key相同

9.hash_multimap:

與hashmap一致,只是允許key有重複(insert_equal)

10.hash_multiset:

與hashset一致,只是允許key有重複(insert_equal)

C 容器(STL容器)

容器 container 用於存放資料的類模板。可變長陣列 鍊錶 平衡二叉樹等資料結構在stl中都被實現為容器。在使用容器時,即將容器類模型例項化為容器類,會指明容器中存放的元素是什麼型別。容器可以分為兩大類 順序容器和關聯容器 順序容器有可變長動態陣列vector 雙端佇列deque 雙向鍊錶li...

stl容器之順序容器

stl容器分為順序容器和關聯容器 其中順序容器最常用的由vector,list,queue 1.vector vector 向量容器,可以看作變長陣列,長度可根據需要自行變化。使用的標頭檔案 include 定義方式 vector陣列名 vectorar 訪問容器內資料的方式和普通陣列相同,可以用a...

STL容器簡介

stl的容器可以分為以下幾個大類 一 序列容器,有vector,list,deque,string.二 關聯容器,有set,multiset,map,mulmap,hash set,hash map,hash multiset,hash multimap 三 其他的雜項 stack,queue,va...