C++ STL 的實現:數組
1.vector 底層數據結構爲數組 ,支持快速隨機訪問數據結構
2.list 底層數據結構爲雙向鏈表,支持快速增刪隊列
3.deque 底層數據結構爲一箇中央控制器和多個緩衝區,詳細見STL源碼剖析P146,支持首尾(中間不能)快速增刪,也支持隨機訪問源碼
4.stack 底層通常用23實現,封閉頭部便可,不用vector的緣由應該是容量大小有限制,擴容耗時hash
5.queue 底層通常用23實現,封閉頭部便可,不用vector的緣由應該是容量大小有限制,擴容耗時it
6.45是適配器,而不叫容器,由於是對容器的再封裝io
7.priority_queue 的底層數據結構通常爲vector爲底層容器,堆heap爲處理規則來管理底層容器實現(優先隊列)容器
8.set 底層數據結構爲紅黑樹,有序,不重複map
9.multiset 底層數據結構爲紅黑樹,有序,可重複 queue
10.map 底層數據結構爲紅黑樹,有序,不重複
11.multimap 底層數據結構爲紅黑樹,有序,可重複
12.hash_set 底層數據結構爲hash表,無序,不重複
13.hash_multiset 底層數據結構爲hash表,無序,可重複
14.hash_map 底層數據結構爲hash表,無序,不重複
15.hash_multimap 底層數據結構爲hash表,無序,可重複