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()--返回一个用于比较元素间的值的函数