双端队列
双端队列(Deque:double ended queue)就是一个两端都是结尾的队列。队列的每一端都能够插入数据项和移除数据项。相对于普通队列,双端队列的入队和出队操作在两端都可进行。
我们使用最经常使用的顺序结构来存储双端队列,为了节省空间。把它首尾相连。构成循环队列。而且规定left指向左端的第一个元素,right指向右端的下一个位置。那么队空的推断则是left=right,队满是(left-1+MAX)%MAX=right或者(right-left+MAX)%MAX==MAX。
具体的东西我是在下面的链接学习的
队列的应用:双端队列
c++stl双端队列