C++中STL的容器适配器以及各容器的方法
https://www.cnblogs.com/hj-SAMA/p/12304070.html
一.容器适配器
stack和queue基于deque实现,priority_queue基于vector实现。
基础的容器类型就相当于那220v的电压,经过适配器转换后才成为了我们需要的低电压(stack,queue,priority_queue)。
1.stack
stk.empty(); //判断stack是否为空,为空返回true,否则返回false
stk.size(); //判断stack中元素的个数
stk.pop(); //删除栈顶元素,但不返回其值
stk.top(); //返回栈顶元素的值,但不删除此元素
stk.push(item) //在栈顶压入新元素item
2.queue
q.empty(); //判断队列是否为空
q.size(); //返回队列长度
q.push(item); //对于queue,在队尾压入一个新元素
//对于priority_queue,在基于优先级的适当位置插入新元素
q.front(); //返回队首元素的值,但不删除该元素
q.back(); //返回队尾元素的值,但不删除该元素
q.top(); //返回具有最高优先级的元素值,但不删除该元素
3.priority_queue二、常用容器用法介绍
> 1.vector
push_back 在数组的最后添加一个数据
pop_back 去掉数组的最后一个数据
at 得到编号的位置数据
begin 得到数组头的指针
end 得到数组的最后一个单元+1的指针
front 得到数组头的引用
back 得到数组的最后一个单元的引用
max_size 得到数组最大可以是多大
capacity 当前数组分配的大小
size 当前使用数据的大小
resize 改变当前使用数据的大小
reserve 改变当前vector所分配空间的大小
erase 删除指针指向的数据项
clear 清空当前的vector
rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
empty 判断vector是否为空
swap 与另一个vector交换数据
2.deque
deq[ ]:用来访问双向队列中单个的元素。
deq.front():返回第一个元素的引用。
deq.back():返回最后一个元素的引用。
deq.push_front(x):把元素x插入到双向队列的头部。
deq.pop_front():弹出双向队列的第一个元素。
deq.push_back(x):把元素x插入到双向队列的尾部。
deq.pop_back():弹出双向队列的最后一个元素。
3.list
l.assign() 给list赋值
l.back() 返回最后一个元素
l.begin() 返回指向第一个元素的迭代器
l.clear() 删除所有元素
l.empty() 判断list是否为空
l.end() 返回末尾的迭代器
l.erase() 删除一个元素
l.front() 返回第一个元素
l.insert() 插入一个元素到list中
l.max_size() 返回list能容纳的最大元素数量
l.merge() 合并两个list
l.pop_back() 删除最后一个元素
l.pop_front() 删除第一个元素
l.push_back() 在list的末尾添加一个元素
l.push_front() 在list的头部添加一个元素
l.resize() 改变list的大小
l.reverse() 把list的元素倒转
l.size() 返回list中的元素个数
l.sort() 给list排序
l.splice() 合并两个list
l.swap() 交换两个list
l.unique() 删除list中相邻重复的元素
3.map
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数
4.set
1. begin()--返回指向第一个元素的迭代器
2. clear()--清除所有元素
3. count()--返回某个值元素的个数
4. empty()--如果集合为空,返回true
5. end()--返回指向最后一个元素的迭代器
6. equal_range()--返回集合中与给定值相等的上下限的两个迭代器
7. erase()--删除集合中的元素
8. find()--返回一个指向被查找到元素的迭代器
9. get_allocator()--返回集合的分配器
10. insert()--在集合中插入元素
11. lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器
12. key_comp()--返回一个用于元素间值比较的函数
13. max_size()--返回集合能容纳的元素的最大限值
14. rbegin()--返回指向集合中最后一个元素的反向迭代器
15. rend()--返回指向集合中第一个元素的反向迭代器
16. size()--集合中元素的数目
17. swap()--交换两个集合变量
18. upper_bound()--返回大于某个值元素的迭代器
19. value_comp()--返回一个用于比较元素间的值的函数