STL容器資料結構

2021-06-06 10:03:22 字數 536 閱讀 3840

資料結構 描述

實現標頭檔案

向量(vector)

連續儲存的元素

列表(list) 

由節點組成的雙向鍊錶,每個結點包含著乙個元素

雙佇列(deque)

連續儲存的指向不同元素的指標所組成的陣列

集合(set) 

由節點組成的紅黑樹,每個節點都包含著乙個元素,節點之間以某種作用於元素對的謂詞排列,沒有兩個不同的元素能夠擁有相同的次序          

多重集合(multiset)

允許存在兩個次序相等的元素的集合

棧(stack) 

後進先出的值的排列

佇列(queue)  

先進先出的執的排列

優先佇列(priority_queue)

元素的次序是由作用於所儲存的值對上的某種謂詞決定的的一種佇列

對映(map)

由對組成的集合,以某種作用於鍵對上的謂詞排列

多重對映(multimap)

允許鍵對有相等的次序的對映 

stl 容器的資料結構

從stl的容器的函式和效能,猜測stl容器是使用什麼資料結構實現的 vector 陣列,動態增長陣列 list鍊錶 set 平衡二叉樹,一般是紅黑樹。map 同set,但裡面的元素換成了pair priority queue 在隨機訪問的資料結構中使用堆排序 bitset bit陣列,可用vecto...

STL各種容器底層資料結構

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

資料結構 STL

棧 先入後出 filo 的一種資料結構。常見操作 模擬火車調頭,進製轉換,表示式求值,單調棧 陣列形式 理解 const int num 1e6 10 定義棧的大小,可自由改變 int stac num 乙個整型棧 int top 棧頂指標 int main top 1 設定棧頂指標為 1 stac...