STL容器底層數據結構

STL容器底層數據結構

1.vector  底層數據結構爲數組 ,支持快速隨機訪問

2.list    底層數據結構爲雙向鏈表,支持快速增刪

3.deque   底層數據結構爲一箇中央控制器和多個緩衝區,詳細見STL源碼剖析P146,支持首尾(中間不能)快速增刪,也支持隨機訪問

4.stack   底層一般用list或deque實現,封閉頭部即可,不用vector的原因應該是容量大小有限制,擴容耗時

5.queue   底層一般用list或deque實現,封閉頭部即可,不用vector的原因應該是容量大小有限制,
擴容耗時(stack和queue其實是適配器,而不叫容器,因爲是對容器的再封裝)

6.priority_queue 的底層數據結構一般爲vector爲底層容器,堆heap爲處理規則來管理底層容器實現

7.set       底層數據結構爲紅黑樹,有序,不重複

8.multiset  底層數據結構爲紅黑樹,有序,可重複 

9.map       底層數據結構爲紅黑樹,有序,不重複

10.multimap 底層數據結構爲紅黑樹,有序,可重複

11.hash_set 底層數據結構爲hash表,無序,不重複

12.hash_multiset 底層數據結構爲hash表,無序,可重複 

13.hash_map      底層數據結構爲hash表,無序,不重複

14.hash_multimap 底層數據結構爲hash表,無序,可重複 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章