STL六大元件

2021-08-28 06:45:14 字數 657 閱讀 8819

1,vector

底層實現使用線性表,,

2,list

底層就是鍊錶

3,deque

底層是雙向的線性表,也就是雙向介面,意思在頭和尾都可以進行插入和刪除操作。

4,map

底層是紅黑樹

5,set 

底層是紅黑樹

各種常用的演算法,如sort,search,copy

容器和演算法之間的粘合劑,是所謂的泛型指標。

具體實現時,就是乙個模板類,將operator ->  operator * operator -- operator ++,等原生指標可以執行的操作符

進行過載,所有的stl容器都有自己的 專屬迭代器,只有容器本身知道怎樣遍歷自己的元素。原生指標也是迭代器。

一種用來修飾 stl容器,迭代器和仿函式介面的工具,如,stack queue都不是實際的容器,只是經過介面卡修飾的

deque。

負責空間的管理和配置,實現的角度來說,是定義乙個動態空間配置 ,空間管理,空間釋放的模板類。

仿函式就是行為類似於函式,可作為某種演算法策略。從實現的角度看,仿函式是過載了operator()的模板類。

一般的函式指標也是狹義的仿函式。

總結:容器通過配置器獲得空間,演算法通過迭代器操作容器元素,仿函式輔助演算法完成不同的策略優化,

STL六大元件

stl提供六大元件,彼此可以組合套用。1 容器 containers 各種資料結構。如vector,list,deque,set,map,用來存放資料。容器又可以分為順序容器和關聯容器.順序容器 vector,list,deque,stack,queue,heap,priority queue,sl...

STL 六大元件

1.容器 containers 各種資料結構,如vector,list,deque,set,map,用來存放資料。從實現的角度看,stl容器是一種class template。2.演算法 algorithms 各種常用的演算法如sort,search,copy,erase 從實現的角度看,stl演算...

STL六大元件

容器 containers 各種資料結構,如 vector list deque set map 用來存放資料。演算法 algorithms 各種常用演算法,如 sort search copy erase 分配器 allocators 負責空間配置與管理。迭代器 iterators 容器與演算法之...