码迷,mamicode.com
首页 > 编程语言 > 详细

python中自定义的栈

时间:2019-01-03 21:44:47      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:def   int   img   empty   you   __init__   技术分享   images   upload   

# 栈 先进后出 例如蒸笼,弹夹,饭菜等
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中自定义的栈

标签:def   int   img   empty   you   __init__   技术分享   images   upload   

原文地址:https://www.cnblogs.com/lcfzh/p/10216827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!