一、什么是容器?
- 所謂容器,就是可以承載,包含元素的一個器件,它是STL六大組件之一,是容器、算法、迭代器中最重要也是最核心的一部分。
二、STL中各大容器的結構與分類
2.1 順序性容器
2.1.1 什么是順序性容器?
順序性容器就是將一組具有相同類型的元素以嚴格的線性形式組織起來
2.1.2 有哪些順序性容器?
這里給大家整理成了一個表格的形式,如下表所示
容器 | 簡介說明 |
---|---|
vector | 可變大小數組。相當于數組,可動態構建,支持隨機訪問,無頭插和尾插,僅支持inset插入,除尾部外的元素刪除比較麻煩。但使用最為廣泛 |
deque | 雙端隊列。支持頭插、刪,尾插、刪,隨機訪問較vector容器來說慢,但對于首尾的數據操作比較方便 |
list | 雙向循環鏈表。使用起來很高效,對于任意位置的插入和刪除都很快,在操作過后,以后指針、迭代器、引用都不會失效 |
forward_list | 單向鏈表。只支持單向訪問,在鏈表的任何位置進行插入/刪除操作都非常快 |
array | 固定數組。vector的底層即為array數組,它保存了一個以嚴格順序排列的特定數量的元素 |
2.1.3 順序性容器在什么場合使用?
一般大多數的題目都可以使用vector容器,除非有特定需求使用其他容器更加合理方便;
如果需要在一串數字的頭尾進行操作,偏向deque,對于較中間的元素操作,不推薦
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
容器
+關注
關注
0文章
499瀏覽量
22111 -
C++
+關注
關注
22文章
2114瀏覽量
73831 -
STL
+關注
關注
0文章
86瀏覽量
18376 -
數組
+關注
關注
1文章
417瀏覽量
26019
發布評論請先 登錄
相關推薦
淺析嵌入式Linux容器技術
提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復雜性。相當于C++中的NameSpace。容器有效地將由單個操作系統管理的資源劃分到孤立的組
發表于 10-27 08:56
C++學習筆記之順序容器
C++中的順序容器是一種用于存儲和管理元素序列的數據結構。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。C++標準庫中提供了多種順序
C++入門之通用算法
C++ 是一種強大的編程語言,它提供了許多通用算法,可以用于各種容器類型。這些算法是通過迭代器來操作容器中的元素,因此它們是通用的,可以用于
評論