vector,list deque三種容器對比

2021-10-16 22:19:10 字數 519 閱讀 9961

一、vector與list對比

vector:		隨機訪問快,即下標運算

尾新增,不申請空間的情況下,速度很快

不支援,快速插入和刪除,比較慢

list: 隨機訪問慢

支援快速插入和刪除

二、記憶體對比

vector:	連續空間

list: 不連續空間

deque: 段連續空間

三、功能對比

vector:		隨機位置插入刪除效率很低

隨機訪問效率高(下標運算)

頭新增緩慢不推薦,支援尾新增

list: 隨機位置插入/刪除效率高

隨機訪問效率慢

支援頭新增也支援尾新增

deque: 隨機位置插入/刪除效率不高

支援隨機訪問(比vector要慢,要經過堆跳轉)

迭代器結構複雜,會降低訪問效率

支援頭新增,也支援尾新增

vector,list,deque。用法區別

stl提供了三個最基本的容器 vector,list,deque。vector和built in陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能非常好的支援隨即訪問,即操作符,但由於它的記憶體空間是連續的,所以在中間進行插入和刪除會造成記憶體塊的拷貝,另外,當該陣列後的記憶體空間不夠...

vector,list,deque。用法區別

stl提供了三個最基本的容器 vector,list,deque。vector和built in陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能非常好的支援隨即訪問,即操作符,但由於它的記憶體空間是連續的,所以在中間進行插入和刪除會造成記憶體塊的拷貝,另外,當該陣列後的記憶體空間不夠...

如何選擇vector list deque

我想把三個常用的序列式放在一起對比一下是有必要的 vector vector和built in陣列類似,擁有一段連續的記憶體空間,能非常好的支援隨即訪問,即操作符,但由於它的記憶體空間是連續的,所以在中間進行插入和刪除會造成記憶體塊的拷貝,另外,當插入較多的元素後,預留記憶體空間可能不夠,需要重新申...