vector list deque三者比較

2022-05-02 21:30:09 字數 360 閱讀 7696

1、vector是一段連續的記憶體塊,而deque是多個連續的記憶體塊,list是所有資料元素分開儲存,可以是任何兩個元素都沒有連續。

2、vector的查詢效能最好,並且的末端增加資料也很好,除非它重新申請記憶體段,適合高效的隨機儲存。

3、list是乙個鍊錶,任何乙個元素都可以是不連續的,但它都有兩個指向上乙個元素和下乙個元素的指標。所以它對插入、刪除元素效能是最好的,而查詢效能非常差;適合大量的插入和刪除操作而不關心隨機訪問的需求。

4、deque是介於兩者之間,它兼顧了陣列和鍊錶的優點,它是分塊的鍊錶和多個陣列的聯合。所有它有比list好的查詢效能,有比vector好的插入刪除效能。如果你需要隨機訪問又關心兩端資料的插入和刪除,那麼deque是最佳之選。

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