STL中的容器對比

2021-06-29 11:36:42 字數 384 閱讀 4783

容器內部各個元素的位置取決插入的方式,與元素本身無關

vector :動態陣列,連續儲存-----使用於尾部刪除插入,不適用與中間刪除插入,訪問效率高

deque:雙端佇列,分片連續儲存-----使用於頭尾插入刪除,中間插入刪除效率低,支援下標操作

list:雙向鍊錶----適用於在序列頻繁插入、刪除(不需要移動資料),且不需要長距離的跳轉(不使用頻繁遍歷),

2.關聯容器

容器內部元素的位置取決於特定的排序和元素值本身(預設從下到大)

set,multiset:內部資料組織採用紅黑樹(一種嚴格意義上的平衡二叉樹).

map儲存key-value對,按key排序,map的內部資料結構也是紅黑樹,並且key值無重複.multimap允許key值重複.

STL常用容器對比

stl的常用容器大致有以下8個 vector是一種動態陣列,在記憶體中具有連續的儲存空間,支援快速隨機訪問。由於具有連續的儲存空間,所以在插入和刪除操作方面,效率比較慢。vector有多個建構函式,預設的建構函式是構造乙個初始長度為0的記憶體空間,且分配的記憶體空間是以2的倍數動態增長的,在push...

STL中的容器

一 什麼是stl stl是standart template library,標準模板庫 是hp實驗室開發的一系列軟體的統稱,從根本上說,它是一些容器和演算法的集合,它是世界上很多最聰明的程式設計師多年的傑作 stl是標準化的元件,不用重新開發,可以直接使用,它是c 的一部分,不需要額外安裝 二 s...

C C 中STL的容器

一 六種序列容器 1 vector 向量 類似乙個陣列。區別在於 動態儲存 記憶體耗用更大,因為stl內部實現時,首先分配乙個非常大的記憶體空間預備進行儲存,即capacituy 函式返回的大小,當超過此分配的空間時再整體重新放分配一塊記憶體儲存,這給人以vector可以不指定vector即乙個連續...