数据结构-栈的Python实现

207 阅读1分钟

堆栈(英语:stack)又称为堆叠,是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,英语:top)进行加入数据(英语:push)和移除数据(英语:pop)的运算。因而按照后进先出(LIFO, Last In First Out)的原理运作。

# -*- coding:utf-8 -*-

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

    # 栈是否为空
    def isEmpty(self):
        return self.items == []

    # 将item加入栈顶,无返回值
    def push(self, item):
        self.items.append(item)

    # 将栈顶数据项移除,返回移除项,栈被修改
    def pop(self):
        return self.items.pop()

    # 查看栈顶数据项,返回栈顶数据项,栈不被修改
    def peek(self):
        return self.items[len(self.items) - 1]

    # 返回栈中有多少个数据项
    def size(self):
        return len(self.items)


if __name__ == '__main__':
    s = Stack()
    print(s.isEmpty())
    print(s.push('hello'))
    print(s.isEmpty())
    print(s.push('world'))
    print(s.size())
    print(s.peek())
    print(s.pop())