初識STL標準庫

2021-08-04 20:38:29 字數 1290 閱讀 6813

簡要介紹

:stl可分為容器(containers)、迭代器(iterators)、空間配置器(allocator)、配接器(adapters)、演算法(algorithms)、仿函式(functors)六個部分。

在c++

標準中,

stl被組織為下面的

17個頭檔案:

<

algorithm

>

、<

deque

>

、<

functional

>

、<

iterator

>

、<

array

>

、<

vector

>

、<

list

>、、

、、、<

numeric

>

、<

queue

>

、<

set>、、

<

stack

>

和<

utility

>

。c++中有兩種型別的容器:順序容器和關聯容器。順序容器主要有vector(陣列)、list(雙向鍊錶)、deque(雙向佇列)等。其中vector表示一段連續的記憶體,基於陣列實現,list表示非連續的記憶體,基於鍊錶實現,deque與vector類似,但是對首元素提供插入和刪除的雙向支援。關聯容器主要有map和set。map是key-value形式,set是單值。map和set只能存放唯一的key,multimap和multiset可以存放多個相同的key。

容器的比較與選擇:

對於順序容器來說,vector(適用於新增查詢,刪除效率低,且插入刪除元素迭代器失效)list(適用於插入刪除元素,新增查詢效率低,插入刪除元素迭代器不會失效(僅被刪除節點迭代器失效))deque(二者的中和,所有功能執行效率較高,刪除中間元素,所有迭代器失效)

迭代器的簡單用法: 

#include 

#include

#include

using namespace std;

vector

v;int main()

for(int i = 0; i< v.size(); i++)

{cout<

<

::iterator it; for( it = v.begin(); it != v.end(); it++) { cout<<*it<

初識C 標準模板庫STL

在c 程式設計中常見到 stl 這個英文縮寫,其實這是c 的標準模板庫 stl standard template library 的意思,它其實裡面包含了很多存放資料並操作各種資料結構的模板,也叫容器,這些容器可以重複使用,並且整合了大量的優秀演算法,大大簡化了我們程式設計時組織資料結構的步驟,這...

STL 標準模板庫)

此篇只是乙個目錄,將分成單篇去完成 stl 主要有三個部分組成 容器,迭代器,演算法。順序容器 向量 vector 雙端佇列 dequeue 表 list ps copy 方法 關聯容器 集合 set 多重集合 multiset 對映 map 多重對映 multimap 容器介面卡 棧 stack ...

Stl(標準模板庫)

stl 標準模板庫 stl的目的是標準化元件,這樣就不用重新開發,可以使用現成的元件。我們常用到的stl容器有vector list deque map multimap set和multiset。1.簡單概括 如果需要高效的隨機訪問,不在乎插入和刪除的效率,使用vector 類似陣列 2 如果需要...