STL容器类型S共同具有的操作:
- S s1 构造空容器
- begin()返回第一个元素的迭代器
- end()返回最后一个元素下一个位置的迭代器
- clear()清空容器内容
- empty()判空。空返回1,非空返回0
- size()返回容器的元素个数
- s1.swap(s2)将容器s1与s2的内容交换
1.双端队列是一种支持向两端高效地插入数据、支持随机访问的容器。在很多的STL实现中,双端队列中的元素储存在一个个大小固定的分段数组中,此外容器还需要维护一个存这些数组首地址的索引数组。
2.双端队列容器不支持双向遍历,既没有逆向迭代器
3.在中间删除或添加元素效率不高,越靠近中部越慢
常用的操作:
- 尾部插入元素t:push_back(t)
- 删除尾部元素:pop_back()
- 头部插入元素t:push_back(t)
- 删除头部元素:pop_front()
- 清空操作:clear()清空容器的内容
- 删除操作:erase(p):删除p所指向的元素,并返回下一个元素的迭代器;erase(p1,p2):删除区间[p1,p2)内的元素,并返回p2的迭代器
- insert(p1,t)在p1所指的位置插入一个新元素t,返回一个迭代器指向新元素t,可以接收返回的迭代器,也可以不接收;insert(p1,n,t)在p1所指的位置插入n个新元素t,无返回值
- reserve(n):若当前容量大于或等于n,什么也不做,否则扩大容器的容量,使得容器的容量不小于n
- s.front()获取容器首元素的引用,s.back()获取尾元素的引用
- s. at(index)返回索引所指向的数据