前言
双端队列deque支持从任意一端增加和删除元素。其中,栈和队列就是双端队列的退化形式,它们的输入输出被限制在某一端。
基本用法
首先,我们来看看容器collections.deque()函数的基本用法。具体代码如下所示:
import collections
c = collections.deque('abcdefg')
print("输出双端队列:", c)
print("双端队列的长度:", len(c))
print("前端值:", c[0])
print("末端值:", c[-1])
运行之后,效果如下:
填充
因为它是双端队列,所以该队列支持从任意一端添加或删除元素。下面,我们来分别实现两端的添加和删除操作,具体代码如下所示:
import collections
c = collections.deque()
#不使用构造函数初始化
c.extend("abcdefg")
#右端(末端)添加
c.append('h'