STL (standard template libaray - 標準模板庫):是 C++ 標準庫的重要組成部分,不僅是一個可復用的組件庫,而且是一個包羅資料結構與演算法的軟體框架,
通俗來說:STL就是將常見的資料結構(例如 順序表,鏈表,堆疊,佇列,二叉樹,哈希...)以模板的形式進行封裝,使用時,不用我們人為再去寫,可以直接呼叫,并且包含常見的通用的泛型演算法(一些常規的演算法也不用自己實作,可以直接呼叫)
通用的泛型演算法兩大特性:
通用的:對于任意型別的資料結構都可以處理,(線性表,鏈表,二叉樹....)
模板實作:以模板的方式實作,對于任意資料型別都可以處理,(int/double/short/long.....)
一標準容器
1:順序容器(底層資料結構都是順序表,陣列,鏈表,堆疊佇列)
vector 向量容器
deque 雙端佇列容器
list 鏈表
2:容器配接器
stack 堆疊
queue 佇列
priority—queue 優先佇列
3:關聯容器(基于高級資料結構)
無序關聯容器 (基于鏈式哈希表) 增刪查 O(1)
unordered_set
unordered_multiset
unordered_map
unorder_multimap
有序關聯容器(基于紅黑樹)增刪查 O(log2n)
set
multiset
map
multimap
二:近容器
陣列 string bitset(位容器)
迭代器
iterator和const_iterator
reverse_iterator 和const_reverse_iterator
函式物件(類似C的函式指標)
greater,less
泛型演算法
sort,find,find_if bindary_search,for_each

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/539916.html
標籤:其他
