python實現棧的基本操作
阿新 • • 發佈:2021-07-21
首先說棧,棧是什麼?
棧先進後出,佇列先進先出
形象點來說,棧就是一個手槍的子彈管,一粒一粒壓進去,但是打出來的時候是從上面打出來的,最先壓進去的最後彈出來,如果進去順序是123,打出來順序是321,這就是後進先出
佇列的概念就是我們平時排隊,按次序來,你排在第1個,那你就第一個輪到,就是先進先出,先到先來
實現棧的基本操作
1 class Stack(): 2 def __init__(self): 3 self.items = [] 4 """判斷是否為空""" 5 def is_empty(self): 6 returnself.items == [] 7 """加入元素""" 8 def push(self, item): 9 self.items.append(item) 10 11 """彈出元素""" 12 def pop(self): 13 return self.items.pop() 14 """返回棧頂元素""" 15 def peek(self): 16 return self.items[len(self.items)-1] 17 18 """返回棧的大小""" 19 defsize(self): 20 return len(self.items) 21 if __name__ == "__main__": 22 stack = Stack() 23 stack.push("hello") 24 stack.push("china") 25 stack.push("hi") 26 stack.push("中國") 27 print (stack.size()) 28 print (stack.is_empty()) 29 print (stack.peek()) 30 print(stack.pop()) 31 print (stack.pop()) 32 print (stack.pop())