zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    springboot整合mybatis
    nginx
    mysql安装
    oracle安装静默
    网卡
    kafak部署
    在docker环境下安装activemq和rabbitmq
    docker安装
    【1213工作日志】ZYNQ的中断应用
    【CAN总线】CAN总线总结
  • 原文地址:https://www.cnblogs.com/lcfzh/p/10216827.html
Copyright © 2011-2022 走看看