STL實現的底層資料結構簡介

2021-06-06 06:16:05 字數 725 閱讀 9087

c++ stl 的實現:

1.vector  底層資料結構為陣列 ,支援快速隨機訪問

2.list    底層資料結構為雙向鍊錶,支援快速增刪

3.deque   底層資料結構為乙個**控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾(中間不能)快速增刪,也支援隨機訪問

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

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

6.45是介面卡,而不叫容器,因為是對容器的再封裝

7.priority_queue 的底層資料結構一般為vector為底層容器,堆heap為處理規則來管理底層容器實現

8.set       底層資料結構為紅黑樹,有序,不重複

9.multiset  底層資料結構為紅黑樹,有序,可重複 

10.map      底層資料結構為紅黑樹,有序,不重複

11.multimap 底層資料結構為紅黑樹,有序,可重複

12.hash_set 底層資料結構為hash表,無序,不重複

13.hash_multiset 底層資料結構為hash表,無序,可重複 

14.hash_map      底層資料結構為hash表,無序,不重複

15.hash_multimap 底層資料結構為hash表,無序,可重複 

STL實現的底層資料結構簡介

c stl 的實現 1.vector 底層資料結構為陣列 支援快速隨機訪問 2.list 底層資料結構為雙向鍊錶,支援快速增刪 3.deque 底層資料結構為乙個 控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾 中間不能 快速增刪,也支援隨機訪問 4.stack 底層一般用23實現,封...

STL實現的底層資料結構簡介

c stl 的實現 1.vector 底層資料結構為陣列 支援快速隨機訪問 2.list 底層資料結構為雙向鍊錶,支援快速增刪 3.deque 底層資料結構為乙個 控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾 中間不能 快速增刪,也支援隨機訪問 4.stack 底層一般用23實現,封...

STL實現的底層資料結構簡介

c stl 的實現 1.vector 底層資料結構為陣列 支援快速隨機訪問 2.list 底層資料結構為雙向鍊錶,支援快速增刪 3.deque 底層資料結構為乙個 控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾 中間不能 快速增刪,也支援隨機訪問 4.stack 底層一般用23實現,封...