棧
棧(stack),有些地方稱為堆疊,是一種容器,可存入資料元素、訪問元素、刪除元素,它的特點在於只能允許在容器的一端(稱為棧頂端指標,英語:top)進行加入資料(英語:push)和輸出資料(英語:pop)的運算。沒有了位置概念,保證任何時候可以訪問、刪除的元素都是此前最後存入的那個元素,確定了一種預設的訪問順序。
由於棧資料結構只允許在一端進行操作,因而按照後進先出的原理運作。
附上完整程式碼:
class Stack(object): def __init__(self):
#初始化 self.items=[] def empty(self):
#判斷是否為空 return self.items == [] def push(self,item):
#壓棧 self.items.append(item) def pop(self):
#進棧 return self.items.pop() def peek(self):
#返回棧頂 return self.items[len(self.items) - 1] def size(self):
#返回長度 return len(self.items) if __name__== "__main__":
#站函式 stack = Stack() stack.push("hello") stack.push("python") stack.push("itcast") print (stack.size()) print (stack.peek()) print (stack.pop()) print (stack.pop()) print (stack.pop())