雙端佇列和普通佇列不同的地方是既可以隊首和隊尾進行插入,同時也就可以從隊首和隊尾進行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)
得解,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/43523.html
標籤:其他
上一篇:十大排序演算法
下一篇:0015. 3Sum (M)
