双端队列(Deque):由一系列有序的元素组织而成,元素可以从队首或队尾插入、删除。
Python自带Deque模块,使用时可引用from collections import deque。
自定义双端队列类:
class Deque(object):
def __init__(self): #初始化空队列
self.items = []
def isEmpty(self): #是否为空
return self.items == []
def addFront(self, item): #从队首入队,队首在右侧
self.items.append(item)
def removeFront(self): #从队首出队,列表最后一个
return self.items.pop()
def addRear(self, item): #从队尾入队,队尾在左侧,索引为0
self.items.insert(0, item)
def removeRear(self): #从队尾出队,列表第一个
return self.items.pop(0)
def size(self): #查看队列的大小
return len(self.items)