STL底層實現


C++ STL 的實現:
 
1.vector底層數據結構為 數組 ,支持快速隨機訪問
 
2.list底層數據結構為 雙向鏈表,支持快速增刪
 
3.deque底層數據結構為一個 中央控制器和多個緩沖區,支持首尾(中間不能)快速增刪,也支持隨機訪問
 
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表,無序,可重復 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM