国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++容器(vector、deque、list、map)

這篇具有很好參考價值的文章主要介紹了C++容器(vector、deque、list、map)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

(1) vector:將元素置于一個動態(tài)數(shù)組中,可以隨機(jī)存儲元素(也就是用索引直接存?。?/h2>

數(shù)組尾部添加或刪除元素非常迅速。但在中部或頭部就比較費(fèi)時。

*代碼演示:*

?。?br>C++容器(vector、deque、list、map)
at在下標(biāo)越界時會拋出異常,我們能捕獲異常進(jìn)行處理;而[]下標(biāo)越界會讓程序直接終止;

C++容器(vector、deque、list、map)
構(gòu)造函數(shù):

cbegin, cend, crbegin, crend返回的是常量迭代器,不能通過迭代器修改vector元素的值。

C++容器(vector、deque、list、map)

C++容器(vector、deque、list、map)

C++容器(vector、deque、list、map)

C++容器(vector、deque、list、map)

插入(insert):值得注意的是,insert函數(shù)返回值是一個迭代器,指向新添加的第一個元素:
C++容器(vector、deque、list、map)

刪除(erase):
C++容器(vector、deque、list、map)

刪除一段內(nèi)容時,前閉后開
C++容器(vector、deque、list、map)
front函數(shù),返回第一個元素的引用
C++容器(vector、deque、list、map)
crbegin(),crend() 倒著輸出
C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)

(2) deque:“double end queue”的縮寫,也就是雙端隊(duì)列。

*deque的實(shí)現(xiàn)相比于vector有些復(fù)雜,但本質(zhì)仍然是優(yōu)化過的動態(tài)數(shù)組,只不過相比于單純的動態(tài)數(shù)組,在前面添加或刪除元素非??炝?。*

*可以隨機(jī)存儲元素。*頭部和尾部添加或刪除元素都非常快(略慢與vector)。但在 中間插入元素比較費(fèi)時(和vector差不多)。

*代碼演示:*

可以在前面添加和刪除、可以隨機(jī)存取元素([]、at):
C++容器(vector、deque、list、map)

(3) list:本質(zhì)就是鏈表,所以自然具有了鏈表的屬性。

*不能隨機(jī)存取元素(也就是list無法用索引存取元素)*。在任何位置插入和刪除元素都比較迅速。(在任何位置插入刪除元素的時間相同,在元素頭部操作慢于deque,在元素尾部操作慢于deque和vector)
C++容器(vector、deque、list、map)

(4) string:

C++容器(vector、deque、list、map)
C++容器(vector、deque、list、map)

(5) map/multimap:使用“紅黑樹”實(shí)現(xiàn),是一種高度平衡的二叉樹。

內(nèi)部元素是成對的“key/value”,也就是“鍵值/實(shí)值”,內(nèi)部元素依據(jù)其鍵值自動排序,map內(nèi)部相同的鍵值只能出現(xiàn)一次,multimap則可以出現(xiàn)多次。

*代碼演示:*
C++容器(vector、deque、list、map)文章來源地址http://www.zghlxwxcb.cn/news/detail-434415.html

到了這里,關(guān)于C++容器(vector、deque、list、map)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Gabriel】C++中vector容器中元素輸出(遍歷)的5種方式

    大家好!我是Gabriel!我們在利用vector解算法題目時,經(jīng)常需要遍歷輸出,對此,我有以下5種方法:? 使用基于范圍的for循環(huán),從vector容器中逐個訪問元素并輸出它們: ? 使用迭代器遍歷整個vector容器,并輸出每個元素的值 ? 使用標(biāo)準(zhǔn)庫算法 std::for_each() 來遍歷整個vector容器

    2024年02月07日
    瀏覽(23)
  • C++高級編程——STL:list容器、set容器和map容器

    本專欄記錄C++學(xué)習(xí)過程包括C++基礎(chǔ)以及數(shù)據(jù)結(jié)構(gòu)和算法,其中第一部分計劃時間一個月,主要跟著黑馬視頻教程,學(xué)習(xí)路線如下, 不定時更新,歡迎關(guān)注 。 當(dāng)前章節(jié)處于: ---------第1階段-C++基礎(chǔ)入門 ---------第2階段實(shí)戰(zhàn)-通訊錄管理系統(tǒng), ---------第3階段-C++核心編程, -----

    2024年01月25日
    瀏覽(23)
  • 【C++】反向迭代器的模擬實(shí)現(xiàn)通用(可運(yùn)用于vector,string,list等模擬容器)

    【C++】反向迭代器的模擬實(shí)現(xiàn)通用(可運(yùn)用于vector,string,list等模擬容器)

    ??博客主頁: 主頁 ??系列專欄: C++ ??感謝大家點(diǎn)贊??收藏?評論?? ??期待與大家一起進(jìn)步! 我們要寫出一個通用的反向迭代器模擬而且在保證代碼簡介不繁瑣的的情況下,一定程度上使用我們自己模擬的已經(jīng)封裝好的iterator迭代器可以簡化許多步驟,首先我們要知

    2024年02月14日
    瀏覽(28)
  • 探索C++中的動態(tài)數(shù)組:實(shí)現(xiàn)自己的Vector容器

    探索C++中的動態(tài)數(shù)組:實(shí)現(xiàn)自己的Vector容器

    ??個人名片 : ??作者簡介:一名樂于分享在學(xué)習(xí)道路上收獲的大二在校生 ??個人主頁??:GOTXX ??個人WeChat:ILXOXVJE ??本文由GOTXX原創(chuàng),首發(fā)CSDN?????? ??系列專欄:零基礎(chǔ)學(xué)習(xí)C語言----- 數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)之路----C++的學(xué)習(xí)之路 ??每日一句:如果沒有特別幸運(yùn),那就請?zhí)?/p>

    2024年03月16日
    瀏覽(21)
  • 創(chuàng)建了一個名為nums_list的vector容器,其中存儲了一系列的pair<int, int>

    在上述代碼中,我們首先創(chuàng)建了一個整數(shù)數(shù)組 nums ,其中包含了一些整數(shù)。然后,我們創(chuàng)建了一個空的 nums_list 容器。接下來,我們使用 for 循環(huán)遍歷整數(shù)數(shù)組 nums ,并將每個數(shù)組元素和其對應(yīng)的索引作為一個 pair 對象加入到 nums_list 容器中。最后,我們遍歷 nums_list 容器,并

    2024年02月07日
    瀏覽(20)
  • C++ vector模板和deque的簡單應(yīng)用

    目錄 ??vector模板和deque的簡單介紹: ??vector和deque的主要不同之處: ??今天我們用vector模板和deque模板實(shí)現(xiàn)以下簡單的功能: 代碼實(shí)現(xiàn): ??講解: vector 和 deque 都是C++ STL(標(biāo)準(zhǔn)模板庫)中的容器模板,用于存儲和管理數(shù)據(jù)。它們都提供了可動態(tài)調(diào)整大小的數(shù)組,允許在任

    2024年02月07日
    瀏覽(28)
  • 【數(shù)據(jù)結(jié)構(gòu)與算法】C++的STL模板(迭代器iterator、容器vector、隊(duì)列queue、集合set、映射map)以及算法例題

    【數(shù)據(jù)結(jié)構(gòu)與算法】C++的STL模板(迭代器iterator、容器vector、隊(duì)列queue、集合set、映射map)以及算法例題

    更多算法例題鏈接: 【數(shù)據(jù)結(jié)構(gòu)與算法】遞推法和遞歸法解題(遞歸遞推算法典型例題) 什么是迭代器(iterator) 迭代器(iterator)的定義: 迭代器是一種檢查容器內(nèi)元素并遍歷元素的數(shù)據(jù)類型。 迭代器提供對一個容器中的對象的訪問方法,并且定義了容器中對象的范圍。 容器

    2024年04月14日
    瀏覽(31)
  • 【Java 集合框架API接口】Collection,List,Set,Map,Queue,Deque

    【Java 集合框架API接口】Collection,List,Set,Map,Queue,Deque

    博主: _LJaXi Or 東方幻想郷 專欄: Java | 從跨行業(yè)到跨平臺 開發(fā)工具: IntelliJ IDEA 2021.1.3 Java集合API提供了一組功能強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)和算法, 具有以下作用( 簡述 ) 存儲和組織數(shù)據(jù) 提供高效的數(shù)據(jù)訪問和操作 實(shí)現(xiàn)算法和數(shù)據(jù)處理 提供線程安全性 支持泛型編程 java.util.Collection

    2024年02月12日
    瀏覽(32)
  • C++ 學(xué)習(xí)之Deque容器

    C++ 學(xué)習(xí)之Deque容器

    Deque(Double-Ended Queue,雙端隊(duì)列)是C++標(biāo)準(zhǔn)庫中的一種容器,允許在兩端進(jìn)行高效地插入和刪除操作。Deque與Vector類似,但相比于Vector,Deque在兩端插入和刪除元素的效率更高。 Deque具有以下特點(diǎn)和概念: 雙端操作:Deque支持在頭部和尾部進(jìn)行插入和刪除等操作,因此可以被視

    2024年02月19日
    瀏覽(19)
  • C++高級編程——STL:deque容器、stack容器和queue容器

    本專欄記錄C++學(xué)習(xí)過程包括C++基礎(chǔ)以及數(shù)據(jù)結(jié)構(gòu)和算法,其中第一部分計劃時間一個月,主要跟著黑馬視頻教程,學(xué)習(xí)路線如下, 不定時更新,歡迎關(guān)注 。 當(dāng)前章節(jié)處于: ---------第1階段-C++基礎(chǔ)入門 ---------第2階段實(shí)戰(zhàn)-通訊錄管理系統(tǒng), ---------第3階段-C++核心編程, -----

    2024年01月24日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包