vector 和 list 的区别,应用
生活随笔
收集整理的這篇文章主要介紹了
vector 和 list 的区别,应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
vector 和 list 的區別,應用
- 1)Vector
- 2、List
- 3、應用
1)Vector
連續存儲的容器,動態數組,在堆上分配空間
底層實現:數組
兩倍容量增長:
vector 增加(插入)新元素時,如果未超過當時的容量,則還有剩余空間,那么直接添加
到最后(插入指定位置),然后調整迭代器。
如果沒有剩余空間了,則會重新配置原有元素個數的兩倍空間,然后將原空間元素通過復
制的方式初始化新空間,再向新空間增加元素,最后析構并釋放原空間,之前的迭代器會失效。
性能
訪問: O(1)
插入:在最后插入(空間夠):很快
在最后插入(空間不夠):需要內存申請和釋放,以及對之前數據進行拷貝。
在中間插入(空間夠):內存拷貝
在中間插入(空間不夠):需要內存申請和釋放,以及對之前數據進行拷貝。
刪除:在最后刪除:很快
在中間刪除:內存拷貝
適用場景:經常隨機訪問,且不經常對非尾節點進行插入刪除。
總結
以上是生活随笔為你收集整理的vector 和 list 的区别,应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安信用卡逾期利息怎么算
- 下一篇: 一手股票多少股