STL模板的容器理解

2021-08-13 18:07:57 字數 501 閱讀 6593

序列式容器:只儲存value

關聯式容器:儲存key和value,且容器排好序。通常由二叉樹來實現。

一、vector

vector動態陣列,所以不僅使用迭代器可以輸出vector,使用vector[1]方式同樣可以輸出值。

資料連續。

刪除操作:例如  1  2  2 3 4  判斷刪除乙個2後   還剩下  1 2 3 4 

因為後邊的2 3 4 依次向前進  指標指到3的位置。

it=vints.erase(it);    // 要儲存刪除的it位址,否則找不到it當前的值。

二、list

雙向鍊錶,既可以在前面插入也可以在後面插入。資料不連續。

三、map

一種鍵值對的形式,但可以修改key值。同vector一樣可以使用map[1]方式輸出值。

map和set的插入刪除效率高,他們的元素以節點方式儲存,不需要記憶體的移動。

四、set

儲存的只有乙個元素,key即value。

STL模板容器

min element 和max element 標頭檔案 include 作用 返回容器中最小值和最大值。max element first,end,cmp 其中cmp為可選擇引數 閒言少敘,上 一看就懂 cpp view plain copy include include using name...

STL模板和容器(1)

stl 標準模板庫 優點 1,方便,容易地實現搜尋資料或者對資料排序等一系列演算法。2,除錯程式更加安全和方便 3,跨平台。基礎概念 模板 類的巨集。泛型,乙個類的模板叫做泛型類,而乙個函式的模板也自然地被叫做泛型函式 容器 container,可以容納一些資料的模板類,例如以下幾種容器 1,vec...

C 容器(一)C 標準模板庫(STL)和容器

c 標準模板庫其實屬於c 標準庫的一部分,c 標準模板庫主要是定義了標準模板的定義與宣告,而這些模板主要都是類模板,我們可以呼叫這些模板來定義乙個具體的類 使用stl不需要自己手動建立乙個函式模板或者是類模板,這些模板都定義在標準模板庫中,我們只需要學會怎麼使用這些類模板來定義乙個具體的類,然後能夠...