0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++中STL容器中的常見(jiàn)容器及基本操作

科技綠洲 ? 來(lái)源:Linux開(kāi)發(fā)架構(gòu)之路 ? 作者:Linux開(kāi)發(fā)架構(gòu)之路 ? 2023-11-10 11:23 ? 次閱讀

一、什么是容器?

  • 所謂容器,就是可以承載,包含元素的一個(gè)器件,它是STL六大組件之一,是容器、算法、迭代器中最重要也是最核心的一部分。

二、STL中各大容器的結(jié)構(gòu)與分類

2.1 順序性容器

2.1.1 什么是順序性容器?

順序性容器就是將一組具有相同類型的元素以嚴(yán)格的線性形式組織起來(lái)

2.1.2 有哪些順序性容器?

這里給大家整理成了一個(gè)表格的形式,如下表所示

容器簡(jiǎn)介說(shuō)明
vector可變大小數(shù)組。相當(dāng)于數(shù)組,可動(dòng)態(tài)構(gòu)建,支持隨機(jī)訪問(wèn),無(wú)頭插和尾插,僅支持inset插入,除尾部外的元素刪除比較麻煩。但使用最為廣泛
deque雙端隊(duì)列。支持頭插、刪,尾插、刪,隨機(jī)訪問(wèn)較vector容器來(lái)說(shuō)慢,但對(duì)于首尾的數(shù)據(jù)操作比較方便
list雙向循環(huán)鏈表。使用起來(lái)很高效,對(duì)于任意位置的插入和刪除都很快,在操作過(guò)后,以后指針、迭代器、引用都不會(huì)失效
forward_list單向鏈表。只支持單向訪問(wèn),在鏈表的任何位置進(jìn)行插入/刪除操作都非常快
array固定數(shù)組。vector的底層即為array數(shù)組,它保存了一個(gè)以嚴(yán)格順序排列的特定數(shù)量的元素

2.1.3 順序性容器在什么場(chǎng)合使用?

一般大多數(shù)的題目都可以使用vector容器,除非有特定需求使用其他容器更加合理方便;

如果需要在一串?dāng)?shù)字的頭尾進(jìn)行操作,偏向deque,對(duì)于較中間的元素操作,不推薦

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    490

    瀏覽量

    21986
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2085

    瀏覽量

    73302
  • STL
    STL
    +關(guān)注

    關(guān)注

    0

    文章

    85

    瀏覽量

    18260
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    411

    瀏覽量

    25824
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    c++之list容器

    list是序列容器,允許在序列的任何位置執(zhí)行固定O(1)時(shí)間復(fù)雜度的插入和刪除操作,并在兩個(gè)方向進(jìn)行迭代。list容器是一個(gè)雙向循環(huán)鏈表。
    的頭像 發(fā)表于 07-15 08:53 ?1177次閱讀
    <b class='flag-5'>c++</b>之list<b class='flag-5'>容器</b>

    C++STL算法(二)

    C++STL算法(二)
    的頭像 發(fā)表于 07-18 14:49 ?857次閱讀
    <b class='flag-5'>C++</b>之<b class='flag-5'>STL</b>算法(二)

    c++STL算法(三)

    c++STL算法(三)
    的頭像 發(fā)表于 07-18 15:00 ?1074次閱讀
    <b class='flag-5'>c++</b>之<b class='flag-5'>STL</b>算法(三)

    C++零基礎(chǔ)教程STL容器篇之stack容器,輕松上手C++STL

    編程語(yǔ)言C++語(yǔ)言
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 11:27:23

    C++零基礎(chǔ)教程STL容器篇之queue容器,輕松上手C++STL

    編程語(yǔ)言C++語(yǔ)言
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 11:41:21

    C++零基礎(chǔ)教程STL容器篇之deque容器,輕松上手C++STL

    編程語(yǔ)言C++語(yǔ)言
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 11:41:55

    容器常見(jiàn)失效模式和失效機(jī)理【

    `電容器常見(jiàn)失效模式和失效機(jī)理【】3.2電容器失效機(jī)理分析3.2.1潮濕對(duì)電參數(shù)惡化的影響空氣濕度過(guò)高時(shí),水膜凝聚在電
    發(fā)表于 11-18 13:18

    淺析嵌入式Linux容器技術(shù)

    提供輕量級(jí)的虛擬化,以便隔離進(jìn)程和資源,而且不需要提供指令解釋機(jī)制以及全虛擬化的其他復(fù)雜性。相當(dāng)于C++的NameSpace。容器有效地將由單個(gè)操作系統(tǒng)管理的資源劃分到孤立的組
    發(fā)表于 10-27 08:56

    詳細(xì)剖析C++的的3種容器

    容器是隨著面向?qū)ο笳Z(yǔ)言的誕生而提出的,容器類在面向?qū)ο笳Z(yǔ)言中特別重要,甚至它被認(rèn)為是早期面向?qū)ο笳Z(yǔ)言的基礎(chǔ)。在現(xiàn)在幾乎所有的面向?qū)ο蟮恼Z(yǔ)言中也都伴隨著一個(gè)容器集,在C++
    的頭像 發(fā)表于 01-09 12:57 ?4830次閱讀
    詳細(xì)剖析<b class='flag-5'>C++</b>的的3種<b class='flag-5'>容器</b>

    C++容器的使用代碼資料總結(jié)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++容器的使用代碼資料總結(jié)免費(fèi)下載。
    發(fā)表于 01-29 10:52 ?2次下載
    <b class='flag-5'>C++</b><b class='flag-5'>容器</b>的使用代碼資料總結(jié)免費(fèi)下載

    一文帶你手撕 STL 容器源碼(上)

    前言源碼之前,了無(wú)秘密。 在 STL 編程,容器是我們經(jīng)常會(huì)用到的一種數(shù)據(jù)結(jié)構(gòu),容器分為序列式容器和關(guān)聯(lián)式
    的頭像 發(fā)表于 04-30 15:59 ?1331次閱讀
    一文帶你手撕 <b class='flag-5'>STL</b> <b class='flag-5'>容器</b>源碼(上)

    C++STL庫(kù)容器

    前面跟大家介紹過(guò)STL庫(kù),STL主要是由6大部分組成,其中第一個(gè)提到的就是容器,容器在介紹STL中小哥有簡(jiǎn)單的跟大家介紹過(guò),今天稍微再詳細(xì)介
    的頭像 發(fā)表于 02-21 10:55 ?1026次閱讀
    <b class='flag-5'>C++</b>之<b class='flag-5'>STL</b>庫(kù)<b class='flag-5'>中</b>的<b class='flag-5'>容器</b>

    C++學(xué)習(xí)筆記之順序容器

    C++的順序容器是一種用于存儲(chǔ)和管理元素序列的數(shù)據(jù)結(jié)構(gòu)。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。C++標(biāo)準(zhǔn)庫(kù)中提供了多種順序
    的頭像 發(fā)表于 05-11 17:05 ?506次閱讀

    C++入門(mén)之通用算法

    C++ 是一種強(qiáng)大的編程語(yǔ)言,它提供了許多通用算法,可以用于各種容器類型。這些算法是通過(guò)迭代器來(lái)操作容器的元素,因此它們是通用的,可以用于
    的頭像 發(fā)表于 05-17 09:40 ?570次閱讀

    使用C++ sort函數(shù)對(duì)vector進(jìn)行自定義排序

    今天在學(xué)一些C++ STL容器,看到sort函數(shù)允許自定義排序規(guī)則,小小地實(shí)操了一下。
    的頭像 發(fā)表于 07-22 10:12 ?1535次閱讀