一、什么是容器?
- 所謂容器,就是可以承載,包含元素的一個(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ú)頭插和尾插,僅支持inset插入,除尾部外的元素刪除比較麻煩。但使用最為廣泛 |
deque | 雙端隊(duì)列。支持頭插、刪,尾插、刪,隨機(jī)訪問較vector容器來(lái)說(shuō)慢,但對(duì)于首尾的數(shù)據(jù)操作比較方便 |
list | 雙向循環(huán)鏈表。使用起來(lái)很高效,對(duì)于任意位置的插入和刪除都很快,在操作過(guò)后,以后指針、迭代器、引用都不會(huì)失效 |
forward_list | 單向鏈表。只支持單向訪問,在鏈表的任何位置進(jìn)行插入/刪除操作都非???/td> |
array | 固定數(shù)組。vector的底層即為array數(shù)組,它保存了一個(gè)以嚴(yán)格順序排列的特定數(shù)量的元素 |
2.1.3 順序性容器在什么場(chǎng)合使用?
一般大多數(shù)的題目都可以使用vector容器,除非有特定需求使用其他容器更加合理方便;
如果需要在一串?dāng)?shù)字的頭尾進(jìn)行操作,偏向deque,對(duì)于較中間的元素操作,不推薦
-
容器
+關(guān)注
關(guān)注
0文章
507瀏覽量
22359 -
C++
+關(guān)注
關(guān)注
22文章
2117瀏覽量
74754 -
STL
+關(guān)注
關(guān)注
0文章
86瀏覽量
18708 -
數(shù)組
+關(guān)注
關(guān)注
1文章
419瀏覽量
26356
發(fā)布評(píng)論請(qǐng)先 登錄
c++之list容器


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

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

C++零基礎(chǔ)教程STL容器篇之deque容器,輕松上手C++STL
電容器的常見失效模式和失效機(jī)理【中】
淺析嵌入式Linux容器技術(shù)
詳細(xì)剖析C++的的3種容器

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

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

C++之STL庫(kù)中的容器

評(píng)論