三種順序容器的比較

2021-09-26 00:24:18 字數 904 閱讀 1316

insert (按位置插入)  o(n)

erase(按位置刪)  o(n)

優點:尾部操作和隨機訪問速度快

缺點:不支援頭插、任意位置刪除和插入複雜度較高

擴容方式:

1.倍數開闢二倍的記憶體

2.舊的資料拷貝到新記憶體

3.釋放舊的記憶體

4.指向新的記憶體

push_front (頭插)  o(1)

push_back(尾插)o(1)

pop_front(頭刪)o(1)

erase(按位置刪)o(1)

優點:插入和刪除的速度快

缺點:訪問速度慢,不支援系統預設的sort排序,記憶體不連續

deque 容器底層不連續,deque的迭代器將其連續

push_front(頭插)  o(1)

insert (按位置插)    o(n)

pop_front(頭刪)o(1)

erase(按位置刪) o(n)

優點:頭尾插入和刪除以及訪問速度快

缺點:按位置插入和刪除速度慢

擴容:deque的擴容包含兩部分,資料區域以及對映區域的擴容

資料區域擴容:資料區域的指標指向資料區域的中間,保證頭部有空間,資料區域滿時對對映區域進行調整,在合適的位置開闢新的資料區域

對映區域擴容:對映區域中已使用的對映區移到中間,保證上下游空閒的位置。

三種迴圈的比較

switch case 語法 switch 表示式 變數 case 值1 語句1 break case 值2 語句2 break default 語句3 break 執行過程 當程式執行到switch 表示式 變數 先判斷括號裡的表示式,執行大括號裡的case 後面的值1 如果和值1匹配,就執行語句...

vector,list deque三種容器對比

一 vector與list對比 vector 隨機訪問快,即下標運算 尾新增,不申請空間的情況下,速度很快 不支援,快速插入和刪除,比較慢 list 隨機訪問慢 支援快速插入和刪除二 記憶體對比 vector 連續空間 list 不連續空間 deque 段連續空間三 功能對比 vector 隨機位置...

STL三種標準容器

順序性容器 vector 從後面快速的插入與刪除,直接訪問任何元素 deque 從前面或後面快速的插入與刪除,直接訪問任何元素 list 雙鏈表,從任何地方快速的插入與刪除 關聯容器 set 快速查詢,不允許重複值 multiset 快速查詢,允許重複值 map 一對一對映,基於關鍵字快速查詢,不允...