python 利用列表实现一个栈


栈是一种先进后出的数据结构,利用python列表,可以非常轻松的实现一个栈结构,栈在解决一些特定问题上非常高效。

一个栈,必须实现以下方法:

  1. push 将数据压入栈
  2. pop 将栈顶元素弹出
  3. top 返回栈顶元素
  4. size 返回栈的大小

python的列表提供了append,remove方法,很容易能够组合成一个栈结构

class Stack():
    def __init__(self):
        self.data = []

    def push(self, item):
        self.data.append(item)

    @property
    def size(self):
        return len(self.data)

    @property
    def top(self):
        return self.data[self.size - 1]

    def pop(self):
        if self.data:
            return self.data.pop()


stack = Stack()

stack.push(2)
stack.push(3)
stack.push(4)
stack.push(1)
stack.push(9)

print(stack.size)         # 栈的大小
stack.pop()               # 弹出栈顶元素
print(stack.top)          # 获得栈顶元素

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案