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