双端队列
双端队列是一种具有队列和栈的性质的数据结构。 双端队列中的元素可以从两端
弹出,其限定插入和删除操作在表的两端进行。双端队列是限定插入和删除
操作在表的两端进行的线性表。
其实双端队列就是一个两端都是结尾的队列。队列的每一端都可以插入
数据项和移除数据项。这些方法可以叫作insertLeft()和insertRight(),
以及removeLeft()和removeRight()。如果严格禁止调用insertLeft()
和removeLeft()方法(或禁用右段的操作),双端队列功能就和栈一样。
禁止调用insertLeft()和removeRight()(或相反的另一对方法),它的
功能就和队列一样了。双端队列与栈或队列相比,是一种多用途的 数据结
构,在容器类库中有时会用双端队列来提供栈和队列两种功能。