1、何谓双端队列
双端队列与队列类似。他有前后两端,双端队列对在哪一端添加和删除元素没有限制。双端队列可以说是栈和队列的结合。
双端队列的操作:
Deque()创建一个空的双端队列
addFront(item)将一个元素添加到双端队列的前端。
addRear(item)将一个元素添加加到双端队列的后端。
removeFront()从双端队列的前端移除一个元素。
removeRear()从双端队列的后端移除一个元素。
isEmpty()检测双端队列是否为空
size()返回双端队列中元素的数目。
class Deque:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items ==[]
def addFront(self,item):
self.items.append(item)
def addRear(self,item):
self.items.insert(0,item)
def removeFront(self):
return self.items.pop()
def removeRear(self):
return self.items.pop(0)
def size(self):
return len(self.items)