一、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陣列類似,擁有一段連續的記憶體空間,能非常好的支援隨即訪問,即操作符,但由於它的記憶體空間是連續的,所以在中間進行插入和刪除會造成記憶體塊的拷貝,另外,當插入較多的元素後,預留記憶體空間可能不夠,需要重新申...