欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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較簡(jiǎn)單。先進(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容器中

  • C語(yǔ)言通訊錄管理系統(tǒng)課程設(shè)計(jì)

    C語(yǔ)言通訊錄管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言通訊錄管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 通過c++的sort函數(shù)實(shí)現(xiàn)成績(jī)排序功能

    通過c++的sort函數(shù)實(shí)現(xiàn)成績(jī)排序功能

    這篇文章主要介紹了通過c++的sort函數(shù)實(shí)現(xiàn)成績(jī)排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • C++基本用法實(shí)踐之模板詳解

    C++基本用法實(shí)踐之模板詳解

    C++的模板是泛型編程思想的一種實(shí)現(xiàn),模板不光支持函數(shù)模板,還有類模板等,本文主要來和大家聊聊C++中模板的相關(guān)用法,需要的可以參考一下
    2023-07-07
  • C++類中的特殊成員函數(shù)示例詳解

    C++類中的特殊成員函數(shù)示例詳解

    這篇文章主要給大家介紹了關(guān)于C++類中特殊成員函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • VC++實(shí)現(xiàn)的OpenGL線性漸變色繪制操作示例

    VC++實(shí)現(xiàn)的OpenGL線性漸變色繪制操作示例

    這篇文章主要介紹了VC++實(shí)現(xiàn)的OpenGL線性漸變色繪制操作,結(jié)合實(shí)例形式分析了VC++基于OpenGL進(jìn)行圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • C++中的類模板詳解及示例

    C++中的類模板詳解及示例

    我們?cè)诙x函數(shù)時(shí),可以通過定義函數(shù)模板,來簡(jiǎn)化一些功能相同而數(shù)據(jù)類型不同的函數(shù)的定義和調(diào)用過程
    2013-10-10
  • 對(duì)比C語(yǔ)言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用

    對(duì)比C語(yǔ)言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用

    這篇文章主要介紹了對(duì)比C語(yǔ)言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-08-08
  • C++ 中malloc()和free()函數(shù)的理解

    C++ 中malloc()和free()函數(shù)的理解

    這篇文章主要介紹了C++ 中malloc()和free()函數(shù)的理解的相關(guān)資料,這里提供用法示例幫助大家理解這部分知識(shí),需要的朋友可以參考下
    2017-08-08
  • 最新評(píng)論