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(\'张娜拉\')

image.png

print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())

image.png

以上是关于python中自定义的栈的主要内容,如果未能解决你的问题,请参考以下文章

活动中自定义对话框内的 ANDROID 片段

python中自定义函数的保留字是

Pyspark UDF 中自定义 Python 对象的使用

python交互环境中导入文件中自定义的函数报错

在 Leanback 应用程序中自定义播放控件

python中自定义排序函数