python中自定义的栈
Posted 吾生也有涯,而知也无涯。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中自定义的栈相关的知识,希望对你有一定的参考价值。
# 栈 先进后出 例如蒸笼,弹夹,饭菜等
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())
以上是关于python中自定义的栈的主要内容,如果未能解决你的问题,请参考以下文章