lesson.9線性容器總結(jié)_第1頁
lesson.9線性容器總結(jié)_第2頁
lesson.9線性容器總結(jié)_第3頁
lesson.9線性容器總結(jié)_第4頁
lesson.9線性容器總結(jié)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

線性容器總結(jié)線性容器總結(jié)比較vectorlistdeque線性容器總結(jié)deque和vectorvector是一片連續(xù)內(nèi)存,deque是多片連續(xù)內(nèi)存deque直接存取數(shù)據(jù),頭部尾部都開放,vector只開放尾部deque對(duì)元素的訪問,比vector稍慢,兩次索引deque不存在內(nèi)存重新分配機(jī)制vector為了保證元素的連續(xù)行,會(huì)提前為元素申請(qǐng)內(nèi)存,不夠了的話,釋放掉原來的內(nèi)存,重新申請(qǐng)一片連續(xù)內(nèi)存deque和list插入元素時(shí)候,隨時(shí)申請(qǐng)內(nèi)存線性容器總結(jié)使用vector:使用的時(shí)候,一般預(yù)先估計(jì)需要多少空間,使用vec.reserve(N)成員函數(shù)預(yù)先申請(qǐng)

N個(gè)元素的空間reserve(N)函數(shù),如果N比現(xiàn)有容量小,則該函數(shù)不做任何事情線性容器總結(jié)reserve和resizereserve:調(diào)整內(nèi)存空間,不會(huì)改變vector中元素不能調(diào)小(vector元素不能變少)可以調(diào)大(vector元素不會(huì)變多)線性容器總結(jié)reserve和resizeresize:調(diào)整vector的元素個(gè)數(shù),會(huì)改變vector中元素調(diào)小:vector中尾部的元素會(huì)丟失,capacity不變調(diào)大:vector中尾部新增元素,元素值由默認(rèn)構(gòu)造函數(shù)生成

超出capacity,則capacity會(huì)發(fā)生相應(yīng)變化支持設(shè)定增加元素的值resize(n,value)使用value調(diào)用構(gòu)造函數(shù)作為新增元素線性容器總結(jié)resize和reservereserve修改的就是capacitylist和deque都沒有capacitylist每新增一個(gè)節(jié)點(diǎn),就申請(qǐng)一個(gè)節(jié)點(diǎn)的空間deque每新增一個(gè)節(jié)點(diǎn),空間夠了則直接存入,不夠則新申請(qǐng)一頁空間resizelist,deque,vector用法一樣線性容器總結(jié)迭代器失效vector,deque插入或者刪除元素,都有可能導(dǎo)致迭代器失效或者,迭代器指向一個(gè)不可預(yù)知的元素所以,插入刪除元素之后,迭代器需要重新獲取list各個(gè)節(jié)點(diǎn)位置沒有任何關(guān)聯(lián),只是有個(gè)指針分別指向上一個(gè)節(jié)點(diǎn)和下一個(gè)節(jié)點(diǎn)位置插入或者刪除元素,所有其他元素位置都不會(huì)變化所以不會(huì)導(dǎo)致已有迭代器失效線性容器總結(jié)線性容器總結(jié)vector、deque、listvector每次插入元素,所有元素地址都可能變化queue頭尾插入元素,所有元素地址不變,中間插入元素,部分元素地址變化list任意位置插入元素,其他元素地址不變線性容器總結(jié)容器選用原則對(duì)于少量數(shù)據(jù)來說,三者區(qū)別不大對(duì)容器中間元素增刪操作頻繁:list基本在容器首尾增刪元素:deque只需要在尾端增刪元素:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論