1、queue
queue(队列),一种数据结构,可以让某些数据结构的操作变得简单。队列(queue)最大的特点就是先进先出。就是说先放入queue容器的元素一定是要先出队列之后,比它后进入队列的元素才能够出队列。
函数:
(1)back() //返回队列中最后一个元素
(2)empty() //判断队列是否为空
(3)front() //返回队列中的第一个元素
(4)pop() //删除队列的第一个元素
(5)push() //在队列末尾加入一个元素
(6)size() //返回队列中元素的个数
(7)emplace() // 在队尾插入一个元素
(8)swap() //交换两个队列的元素
2、dqueue
双端队列(double-ended queue),两端都可以操作、插入、删除、也可以在中间进行操作。内部采用线性表顺序结构,与vector不同的是,deque采用分块的线性存储结构存储数据,每块大小512字节。所有的deque块使用一个Map块进行管理,每个Map数据项纪录各个deque块的首地址。当考虑容器内部的内存分配策略和操作性能时,deque相对于vector更有优势。

函数:
(1)begin()                   //返回指向容器中第一个元素的迭代器。
 (2)end()                      //返回指向容器最后一个元素所在位置后一个位置的迭代器,通常和 begin() 结合使用。
 (3)rbegin()                  //返回指向最后一个元素的迭代器。
 (4)rend()                     //返回指向第一个元素所在位置前一个位置的迭代器。
 (5)size()                     //返回实际元素个数。
 (6)empty()                  //判断容器中是否有元素,若无元素,则返回 true;反之,返回 false。
 (7)shrink _to_fit()        //将内存减少到等于当前元素实际所使用的大小。
 (8)at()                         //使用经过边界检查的索引访问元素。
 (9)front()                    //返回第一个元素的引用。
 (10)back()                  //返回最后一个元素的引用。
 (11)assign()                //用新元素替换原有内容。
 (12)push_back()         //在序列的尾部添加一个元素。
 (13)push_front()          //在序列的头部添加一个元素。
 (14)pop_back()           //移除容器尾部的元素。
 (15)pop_front()           //移除容器头部的元素。
 (16)insert()                 //在指定的位置插入一个或多个元素。
 (17)erase()                 // 移除一个元素或一段元素。
 (18)clear()                  //移出所有的元素,容器大小变为 0。
 (19)swap()                  // 交换两个容器的所有元素。
 (20)emplace()             //在指定的位置直接生成一个元素。
 (21)emplace_front()   //在容器头部生成一个元素。和 push_front() 的区别是,该函数直接在容器头部构造元素,省去了复制移动元素的过程。
 (22)emplace_back()   //在容器尾部生成一个元素。和 push_back() 的区别是,该函数直接在容器尾部构造元素,省去了复制移动元素的过程。



















