数据结构与算法:双端队列
双端队列和普通队列不同的地方是既可以队首和队尾进行插入,同时也就可以从队首和队尾进行remove删除 ,同时不遵循先进先出或者先进后出的规则,这需要通过具体的算法实现来确定,这个数据结构的实现过程如下:
class Deque: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] # front表示的是队列的右边,rear表示的是队列的左端。 def addFront(self, item): self.items.append(item) def addRear(self, item): self.items.insert(0, item) # remove方法都会具有一个返回值 def removeFront(self): return self.items.pop() def removeRear(self): return self.items.pop(0) def size(self): return len(self.items)
得解。