python

Python栈的简单实现

by nineone, 2022-03-02


栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。


class Stack(object):
    # 初始化
    def __init__(self):
        self.items = []
    # 判断是否为空
    def is_empty(self):
        return self.items == []
    # 返回栈顶元素
    def peek(self):
        if self.is_empty():
            raise KeyError("stack is None")
        return self.items[len(self.items) - 1]
    #返回栈的大小
    def size(self):
        return len(self.items)
    # 入栈,把新的元素放进栈里
    def push(self, item):
        self.items.append(item)
    # 出栈,把栈顶元素丢出去
    def pop(self):
        if self.is_empty():
            raise KeyError("stack is None")
        return self.items.pop()

if __name__ == '__main__' :
    a_stack = Stack()
    # 插入元素
    a_stack.push('一')
    a_stack.push('二')
    a_stack.push('三')
    
    print(a_stack.size())    # 3
    print(a_stack.peek())    # 三
    print(a_stack.pop())     # 三
    print(a_stack.peek())    # 二
    print(a_stack.size())    # 2
    print(a_stack.is_empty())  # False
    a_stack.__init__()
    print(a_stack.is_empty())  # True
python

作者: nineone

2025 © typecho & elise 41 ms