一、什么是容器?
- 所謂容器,就是可以承載,包含元素的一個器件,它是STL六大組件之一,是容器、算法、迭代器中最重要也是最核心的一部分。
二、STL中各大容器的結(jié)構(gòu)與分類
2.1 順序性容器
2.1.1 什么是順序性容器?
順序性容器就是將一組具有相同類型的元素以嚴格的線性形式組織起來
2.1.2 有哪些順序性容器?
這里給大家整理成了一個表格的形式,如下表所示
容器 | 簡介說明 |
---|---|
vector | 可變大小數(shù)組。相當于數(shù)組,可動態(tài)構(gòu)建,支持隨機訪問,無頭插和尾插,僅支持inset插入,除尾部外的元素刪除比較麻煩。但使用最為廣泛 |
deque | 雙端隊列。支持頭插、刪,尾插、刪,隨機訪問較vector容器來說慢,但對于首尾的數(shù)據(jù)操作比較方便 |
list | 雙向循環(huán)鏈表。使用起來很高效,對于任意位置的插入和刪除都很快,在操作過后,以后指針、迭代器、引用都不會失效 |
forward_list | 單向鏈表。只支持單向訪問,在鏈表的任何位置進行插入/刪除操作都非???/td> |
array | 固定數(shù)組。vector的底層即為array數(shù)組,它保存了一個以嚴格順序排列的特定數(shù)量的元素 |
2.1.3 順序性容器在什么場合使用?
一般大多數(shù)的題目都可以使用vector容器,除非有特定需求使用其他容器更加合理方便;
如果需要在一串數(shù)字的頭尾進行操作,偏向deque,對于較中間的元素操作,不推薦
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
容器
+關(guān)注
關(guān)注
0文章
499瀏覽量
22130 -
C++
+關(guān)注
關(guān)注
22文章
2114瀏覽量
73887 -
STL
+關(guān)注
關(guān)注
0文章
86瀏覽量
18395 -
數(shù)組
+關(guān)注
關(guān)注
1文章
417瀏覽量
26034
發(fā)布評論請先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web2/M00/87/AF/wKgaomRmlIaAYfTaAAEUaAi1ViM533.png)
![](https://file1.elecfans.com/web2/M00/87/AF/wKgaomRmlImAO7O9AADK7d3J7Qc856.png)
![](https://file1.elecfans.com/web2/M00/87/AF/wKgaomRmlImAOFddAACp6MxcVio819.png)
電容器的常見失效模式和失效機理【中】
`電容器的常見失效模式和失效機理【中】3.2電容器失效機理分析3.2.1潮濕對電參數(shù)惡化的影響空氣中濕度過高時,水膜凝聚在電
發(fā)表于 11-18 13:18
淺析嵌入式Linux容器技術(shù)
提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復(fù)雜性。相當于C++中的NameSpace。容器有效地將由單個操作系統(tǒng)管理的資源劃分到孤立的組
發(fā)表于 10-27 08:56
詳細剖析C++的的3種容器
容器是隨著面向?qū)ο笳Z言的誕生而提出的,容器類在面向?qū)ο笳Z言中特別重要,甚至它被認為是早期面向?qū)ο笳Z言的基礎(chǔ)。在現(xiàn)在幾乎所有的面向?qū)ο蟮恼Z言中也都伴隨著一個容器集,在C++
![詳細剖析<b class='flag-5'>C++</b>的的3種<b class='flag-5'>容器</b>](https://file1.elecfans.com//web2/M00/A7/24/wKgZomUMQqOAOAv0AAANaXq7xkk638.png)
一文帶你手撕 STL 容器源碼(上)
前言源碼之前,了無秘密。 在 STL 編程中,容器是我們經(jīng)常會用到的一種數(shù)據(jù)結(jié)構(gòu),容器分為序列式容器和關(guān)聯(lián)式
![一文帶你手撕 <b class='flag-5'>STL</b> <b class='flag-5'>容器</b>源碼(上)](https://file.elecfans.com/web1/M00/ED/4B/o4YBAGCLu7eAD5lTAAAR1wa5T1E799.png)
C++學(xué)習(xí)筆記之順序容器
C++中的順序容器是一種用于存儲和管理元素序列的數(shù)據(jù)結(jié)構(gòu)。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。C++標準庫中提供了多種順序
C++入門之通用算法
C++ 是一種強大的編程語言,它提供了許多通用算法,可以用于各種容器類型。這些算法是通過迭代器來操作容器中的元素,因此它們是通用的,可以用于
使用C++ sort函數(shù)對vector進行自定義排序
今天在學(xué)一些C++ STL容器,看到sort函數(shù)允許自定義排序規(guī)則,小小地實操了一下。
評論