STL 隨記

今天無意翻起以前買的stl源碼解析

線性的結構

  • vector 內存在一起,所以當超過容量的時候,vector會進行一次很大的調整,這個也是影響性能的原因之一,同時在前面插入元素,也是vector性能的噩夢
  • list ,相對來理解 ,就是用 指針來管理前後元素的關係,所以在插入刪除 都是o(1) 的複雜度
  • deque ,比較有意思的是 ,用一個map 標記一些聯繫在一起的內存,就有很多內存塊,每個內存塊都有自己的容量,用map 來管理,這個在實現上就相對複雜一些。
  • queue ,底層實現依賴於 list
  • stack 也是依賴於list
  • heap ,底層實現依賴於 vector,主要實現堆的操作算法。
  • 優先隊列 : 底層實現依賴於 heap 。所以之前我曾猶豫 用 heap 還是 優先隊列是一件 很搞笑的事情。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章