最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vector,map,list,queue的區(qū)別詳細(xì)解析

 更新時(shí)間:2013年09月23日 09:52:46   作者:  
如果我們需要隨機(jī)訪問一個(gè)容器則vector要比list好得多。如果我們已知要存儲(chǔ)元素的個(gè)數(shù)則vector 又是一個(gè)比list好的選擇。如果我們需要的不只是在容器兩端插入和刪除元素則list顯然要比vector好

1。vector  (連續(xù)的空間存儲(chǔ),可以使用[]操作符)快速的訪問隨機(jī)的元素,快速的在末尾插入元素,但是在序列中間歲間的插入,刪除元素要慢,而且如果一開始分配的空間不夠的話,有一個(gè)重新分配更大空間,然后拷貝的性能開銷.

2。deque (小片的連續(xù),小片間用鏈表相連,實(shí)際上內(nèi)部有一個(gè)map的指針,因?yàn)橹李愋?,所以還是可以使用[],只是速度沒有vector快)快速的訪問隨機(jī)的元素,快速的在開始和末尾插入元素,隨機(jī)的插入,刪除元素要慢,空間的重新分配要比vector快,重新分配空間后,原有的元素不需要拷貝。對(duì)deque的排序操作,可將deque先復(fù)制到vector,排序后在復(fù)制回deque。

3。list   (每個(gè)元素間用鏈表相連)訪問隨機(jī)元素不如vector快,隨機(jī)的插入元素比vector快,對(duì)每個(gè)元素分配空間,所以不存在空間不夠,重新分配的情況

4。set 內(nèi)部元素唯一,用一棵平衡樹結(jié)構(gòu)來存儲(chǔ),因此遍歷的時(shí)候就排序了,查找也比較快的哦。

5。map 一對(duì)一的映射的結(jié)合,key不能重復(fù)。

6。stack 適配器,必須結(jié)合其他的容器使用,stl中默認(rèn)的內(nèi)部容器是deque。先進(jìn)后出,只有一個(gè)出口,不允許遍歷。

7。queue 是受限制的deque,內(nèi)部容器一般使用list較簡單。先進(jìn)先出,不允許遍歷。

下面是選擇順序容器類型的一些準(zhǔn)則 
1.如果我們需要隨機(jī)訪問一個(gè)容器則vector要比list好得多 。

2.如果我們已知要存儲(chǔ)元素的個(gè)數(shù)則vector 又是一個(gè)比list好的選擇。 

3.如果我們需要的不只是在容器兩端插入和刪除元素則list顯然要比vector好 

4.除非我們需要在容器首部插入和刪除元素否則vector要比deque好。

5.如果只在容易的首部和尾部插入數(shù)據(jù)元素,則選擇deque.

6.如果只需要在讀取輸入時(shí)在容器的中間位置插入元素,然后需要隨機(jī)訪問元素,則可考慮輸入時(shí)將元素讀入到一個(gè)List容器,接著對(duì)此容器重新拍學(xué),使其適合順序訪問,然后將排序后的list容器復(fù)制到一個(gè)vector容器中

相關(guān)文章

  • C語言實(shí)現(xiàn)簡易連連看游戲

    C語言實(shí)現(xiàn)簡易連連看游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡易連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • OpenCV中findContours函數(shù)參數(shù)詳解

    OpenCV中findContours函數(shù)參數(shù)詳解

    Opencv中通過使用findContours函數(shù),簡單幾個(gè)的步驟就可以檢測(cè)出物體的輪廓,很方便。本文將和大家一起探討一下findContours方法中各參數(shù)的含義及用法,感興趣的可以了解一下
    2022-08-08
  • C語言中自動(dòng)與強(qiáng)制轉(zhuǎn)換全解析

    C語言中自動(dòng)與強(qiáng)制轉(zhuǎn)換全解析

    在編寫C程序時(shí),類型轉(zhuǎn)換是確保數(shù)據(jù)正確性和一致性的關(guān)鍵環(huán)節(jié),無論是隱式轉(zhuǎn)換還是顯式轉(zhuǎn)換,都各有特點(diǎn)和應(yīng)用場景,本文將詳細(xì)探討C語言中的類型轉(zhuǎn)換機(jī)制,幫助您更好地理解并在實(shí)際編碼中靈活運(yùn)用這些知識(shí),需要的朋友可以參考下
    2025-02-02
  • 淺談int8_t int64_t size_t ssize_t的相關(guān)問題(詳解)

    淺談int8_t int64_t size_t ssize_t的相關(guān)問題(詳解)

    下面小編就為大家?guī)硪黄獪\談int8_t int64_t size_t ssize_t的相關(guān)問題(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • C語言代碼實(shí)現(xiàn)簡單掃雷小游戲

    C語言代碼實(shí)現(xiàn)簡單掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C++ Template 基礎(chǔ)篇(一):函數(shù)模板詳解

    C++ Template 基礎(chǔ)篇(一):函數(shù)模板詳解

    這篇文章主要介紹了C++ Template函數(shù)模板,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Cocos2d-x中獲取系統(tǒng)時(shí)間和隨機(jī)數(shù)實(shí)例

    Cocos2d-x中獲取系統(tǒng)時(shí)間和隨機(jī)數(shù)實(shí)例

    這篇文章主要介紹了Cocos2d-x中獲取系統(tǒng)時(shí)間和隨機(jī)數(shù)實(shí)例,本文代碼含有大量注釋來講解獲取系統(tǒng)時(shí)間和隨機(jī)數(shù)的方法,需要的朋友可以參考下
    2014-09-09
  • C語言中位運(yùn)算符"|"的5種高級(jí)用法總結(jié)

    C語言中位運(yùn)算符"|"的5種高級(jí)用法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C語言中位運(yùn)算符"|"的5種高級(jí)用法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以參考一下
    2023-04-04
  • C++ 先對(duì)數(shù)組排序,在進(jìn)行折半查找

    C++ 先對(duì)數(shù)組排序,在進(jìn)行折半查找

    以下小編就為大家介紹兩種實(shí)現(xiàn)方法。第一種方法是,選擇排序法+循環(huán)折半查找法。第二種方法是,冒泡排序法+遞歸折半查找法。需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-10-10
  • C++程序函數(shù)的重載和函數(shù)模板示例代碼

    C++程序函數(shù)的重載和函數(shù)模板示例代碼

    C++允許在同一作用域中用同一函數(shù)名定義多個(gè)函數(shù),這些函數(shù)的參數(shù)個(gè)數(shù)和參數(shù)類型不相同,這些同名的函數(shù)用來實(shí)現(xiàn)不同的功能,這就是函數(shù)的重載,這篇文章主要介紹了C++程序函數(shù)的重載和函數(shù)模板,需要的朋友可以參考下
    2024-03-03

最新評(píng)論

静宁县| 岳池县| 长白| 黄陵县| 自贡市| 青海省| 壤塘县| 高雄县| 土默特右旗| 五家渠市| 霍林郭勒市| 滦南县| 桦甸市| 二连浩特市| 霍林郭勒市| 巴楚县| 定结县| 桃源县| 桐城市| 岗巴县| 汾西县| 镇江市| 日喀则市| 新绛县| 巫溪县| 皋兰县| 慈利县| 郁南县| 大关县| 繁峙县| 错那县| 新宁县| 赤壁市| 远安县| 阳谷县| 望城县| 确山县| 木兰县| 葵青区| 广安市| 九龙坡区|