美文网首页
python模块之栈

python模块之栈

作者: 飞跑的蛤蟆 | 来源:发表于2019-01-03 20:42 被阅读10次
    # 栈 先进后出 例如蒸笼,弹夹,饭菜等
    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 20181226215232410_3201.gif

    相关文章

      网友评论

          本文标题:python模块之栈

          本文链接:https://www.haomeiwen.com/subject/qtgqrqtx.html