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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM