vector和list的區(qū)別是什么
時間:
志峰887由 分享
vector和list的區(qū)別是什么
對于學c語言的同學來說,vector和list這兩個東西經(jīng)常會搞錯。下面是學習啦小編為大家準備的vector和list的區(qū)別是什么,希望大家喜歡!
vector和list的區(qū)別一:
vector是順序表,表示的是一塊連續(xù)的內存,元素被順序存儲;list是雙向連接表,在內存中不一定連續(xù)。
vector和list的區(qū)別二:
當數(shù)值內存不夠時,vector會重新申請一塊足夠大的連續(xù)內存,把原來的數(shù)據(jù)拷貝到新的內存里面;list因為不用考慮內存的連續(xù),因此新增開銷比vector小。
vector和list的區(qū)別三:
list只能通過指針訪問元素,隨機訪問元素的效率特別低,在需要頻繁隨機存取元素時,使用vector更加合適。
vector和list的區(qū)別四:
當向vector插入或者刪除一個元素時,需要復制移動待插入元素右邊的所有元素;因此在有頻繁插入刪除操作時,使用list更加合適。
vector和list的區(qū)別五:
vector在每次擴張容量的時候,將容量擴展2倍,這樣對于小對象來說,效率是很高的。
list中的對象是離散存儲的,隨機訪問某個元素需要遍歷list。在list中插入元素,尤其是在首尾插入元素,效率很高,只需要改變元素的指針。
看了“333”的人還看了: