各種常用STL容器選擇 需求分析筆記

2021-09-12 07:19:40 字數 645 閱讀 2136

參考:

我的操作物件是字元和字串:string

我只是用於簡單元素的常用儲存和排序:vector(插入費時)

我經常需要隨機訪問: vector 或 deque

我要與c相容:vector

我要查詢速度:雜湊容器、排序的vector,標準關聯容器(set、multiset、map和multimap)-或許這就是優先順序

我要插入值不重複又能自動排序: set

我要頻繁插入和刪除,我的儲存空間又有限: list(查詢費時)或者 forward_list

我僅需要在頭或尾處頻繁插入或刪除: deque

我有很多需求:幾種容器相結合,先***, 再***

STL 各種容器

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

STL容器選擇

個人筆記 1 預設狀態下應該選擇vector,因為vector內部結構最簡單,並允許隨機訪問,所以資料的訪問十分方便,資料的處理也快。2 如果經常要在頭部和尾部安插和移動元素,應該採用deque,如果希望元素被移除時,容器能夠自動縮減記憶體,也應該使用deque。3 如果經常在容器的中段執行元素的安...

如何選擇STL容器?

大家知道,c 的stl標準庫很好用,裡面的vector,list,deque,stack,slist,set,map,都很好用。但是,在實際程式設計過程中,如何根據自己的專案需求選擇裡面的一種容器呢?最好的辦法就是了解其中的原理,然後做選擇。補充,如果專案中不考慮效率,就不用考慮那麼多了 畢竟stl...