python中自定義的棧
阿新 • • 發佈:2019-01-03
# 棧 先進後出 例如蒸籠,彈夾,飯菜等 class StackFullException(Exception): """自定義一個棧溢位異常""" pass class StackEmptyException(Exception): """自定義一個棧空出異常""" pass class Stack: """ 自定義一個棧 """ def __init__(self, size): self.size = size self.lst = [] # 存放資料的列表 self.top = 0 # 棧頂指標 def push(self, el): """入棧""" if self.top >= self.size: raise StackFullException('Your stack is full!') self.lst.insert(self.top, el) # 放入元素 self.top += 1 # 棧頂指標向上移動一下 def pop(self): """出棧""" if self.top == 0: raise StackEmptyException('Your stack is empty!') self.top -= 1 el = self.lst[self.top] return el s = Stack(4) # 傳入棧的長度
# 往棧傳入資料
s.push('林志玲')
s.push('朱茵')
s.push('金喜善')
s.push('張娜拉')
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())