STL 容器
序列容器
vector
deque
list
forward_list
有序关联容器
map
multi_map
set
multi_set
无序关联容器
unordered_map
unordered_multimap
unordered_set
unordered_multiset
容器适配器
queue
stack
priority_queue
拟容器
array
bitset
vector
可动态划分内存的容器
基本操作:
- size( ) 返回vector中元素个数
- begin( ) 头部迭代器
- end( ) 尾部迭代器
- push_back( ) 从尾部加入元素
- pop( ) 抛出头部元素
类算法
- sort( vc.begin( ), vc.end( ) ) 排序
- lower_bound(vc.begin( ), vc.end( ), v) 找到第一个大于等于v的数
- upper_bound(vc.begin( ), vc.end( ), v) 找到第一个大于v的数
deque
双端开口容器
基本操作:
- size( ) 返回deque中元素个数
- begin( ) 头部迭代器
- end( ) 尾部迭代器
- top( ) 头部元素
- back( ) 尾部元素
- push_back( ) 尾部加数
- pop_back( ) 尾部弃数
- push_front( ) 头部加数
- pop_front( ) 头部弃数
类算法
- sort(deq.begin( ), dep.ed=end( ) ) 排序
- lower_bound(dep.begin( ), dep.end( ), v ) 找到第一个大于等于v的数
- upper_bound(dep.begin( ), dep.end( ), v ) 找到第一个大于v的数
list
双向链表
基本操作:
- lst.begin( ) 头部迭代器
- lst.end( ) 尾部迭代器
- lst.insert( ) 插入
- lst.erase( ) 删除
类算法
- remove( ) 移除
- unique( ) 去重
- sort( ) 排序
- reserve( ) 反转
forwar_list
和list类似
map
可用于存储键值对
基本操作
- size( ) 返回键值对个数
- empty( ) 检测是否为空
- begin( ) 头部迭代器
- end( ) 尾部迭代器
- insert( ) 插入键值对
- count( v ) 查询是否含有键值为v的键值对
类算法
- find(k) 获取键值为k的键值对的迭代器
- lower_bound(mp.begin( ), mp.end( ), v) 找到第一个键值大于等于v的键值对的迭代器
- **upper_bound(mp.begin( ), mp.end( ), v)**找到第一个键值大于v的键值对的迭代器
- equal_range(k) 放回两个迭代器 : lower_bound(k) 、upper_bound(k)
multi_map
与map共享操作,map保证只含一个键值为k的键值对
multi_map支持存在多个不一样的键值为k的键值对
unordered_map
与map共享大部分操作,map在插入过程中是保持有序的,即内含排序
unordered_map不保证有序,内不含排序
unordered_multimap
显然集成了multi_map与unordered_map
set
类似于数学中的集合
基本操作:
- size( )
- empty( )
- begin( )
- end( )
- insert( )
- count( )
multi_set
同map与multi_map关系一致,set保证不存在相同元素
而multi_set可以存在相同元素
unordered_set
不排序的set, 操作与set基本一致
unordered_multimap
集成了multi_map和unordered_map
queue
队列,先进先出
基本操作
- **empty( )**检测是否为空
- **push( )**加尾
- **pop( )**弃头
- **front( )**头部元素
stack
栈,后进先出
基本操作
- **top( )**头部元素
- **empty( )**检测为空
- **push( )**加尾
- **pop( )**弃头
priority_queue
优先队列,在队列的基础上用户可以自定义排序函数,使得队列中元素按照自定义排序函数定义趋于有序
基本操作:
- top( ) 头部元素
- empty( ) 检测是否为空
- push( ) 加尾
- pop( ) 弃头
bitset
array
待补。。。