C++的 STL standard template libaray 都是标准模板库,可以直接使用
C++STL的介绍
一、标准容器 C++11的array(数组容器) forward_list(单向链表容器)
1.顺序容器 (底层是顺序表(数组,链表,栈,队列相关的))
vector(向量容器)
deque(双端队列容器)
list(链表容器)
2.容器适配器
stack(栈)
queue(队列)
priority_queue(默认基于大根堆实现的优先级队列)
3.关联容器
无序关联容器 =>底层实现是 链式哈希表 增删查的时间复杂度O(1)
set:集合 key
map:映射表 [key,value]
unordered_set 无序的单重集合
unordered_multiset无序的 多重集合
unordered_map 无序的 单重映射表
unordered_multimap 无序的 多重映射表
有序关联容器 => 底层是 红黑树 增删查O(log2n), 2是底数(树的层数,树的高度)
set
multiset
map
multimap
二、近容器(近似容器)
数组,string,bitset(位容器,处理位运算)
三、迭代器
iterator和const_iterator (正向迭代器)
reverse_iterator和const_reverse_iterator (反向迭代器)
四、函数对象(类似C的函数指针)
greater , less
五、泛型算法
sort , find , find_if , binary_search , for_each