python數據結構之棧
阿新 • • 發佈:2018-08-18
允許 obj 概念 函數 指標 size 堆棧 進棧 div
棧
棧(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())
python數據結構之棧