# -*- coding:utf-8 -*- # __author__ :kusy # __content__:文件說明 # __date__:2018/9/30 17:28 class MyStack(object): def __init__(self): self.stack_list = [] self.count = 0 # 創建一個棧 def create_stack(self): return self.stack_list # 棧中添加值 def push(self, value): self.stack_list.insert(0,value) self.count += 1 #返回棧頂元素值 def peek(self): if self.count: return self.stack_list[0] # 刪除棧頂元素 def pop(self): self.stack_list.pop(0) self.count -= 1 # 返回棧是否為空 def is_empty(self): return self.count == 0 #打印棧內容 def print_all(self): for sl in self.stack_list: print(sl) if __name__ == '__main__': ms = MyStack() ms.create_stack() ms.push(1) ms.push(2) ms.push(3) print('棧元素:') ms.print_all() print('棧頂元素:',ms.peek()) ms.pop() print('棧頂元素刪除后:') ms.print_all() print('棧是否為空:','是' if ms.is_empty() else '否') print('---繼續刪除元素') ms.pop() print('---繼續刪除元素') ms.pop() print('棧是否為空:','是' if ms.is_empty() else '否')
運行結果如下
C:\Users\suneee\AppData\Local\Programs\Python\Python36\python.exe E:/wangjz/PyWorkSpace/LearnPython/PY0929/stack.py 棧元素: 3 2 1 棧頂元素: 3 棧頂元素刪除后: 2 1 棧是否為空: 否 ---繼續刪除元素 ---繼續刪除元素 棧是否為空: 是 Process finished with exit code 0