您的当前位置:首页正文

python 实现栈的基本操作

2024-11-13 来源:个人技术集锦

栈:是一个先入后出的有序列表  线性表。

栈的删除和插入只能在一端进行,允许插入和删除的一端为栈顶,另一端称为栈底

最先放进栈中的元素在栈顶,最先取出

Python 中的栈直接以列表为主,增加使用append(),出栈为pop()

 

实现栈的思路分析:


class ArrayStack:
    def __init__(self,masSize):
        self.maxsize = masSize
        self.stack = []
        self.top = -1

    # 判断栈是不是 满的
    def isFull(self):
        return self.top == self.maxsize - 1

    # 判断栈是不是空的
    def isEmpty(self):
        return self.top == -1

    # 将数据压入栈中
    def push(self,value):
        if self.isFull():
            print("栈已经满了!")
            return
        self.top = self.top + 1
        self.stack.append(value)

    # 将栈中的数据进行删除
    def pop(self):
        if self.isEmpty():
            print("栈已经是空的了,没法执行出栈操作!")
            return
        value = self.stack.pop()
        self.top = self.top - 1
        return value

    # 显示栈的内容,需要先从栈顶显示数据
    def showStack(self):
        if self.isEmpty():
            print("栈已经是空的了,没法执行显示操作!")
            return
        i = self.top
        while i > -1:
            print("栈中存在的数据:",self.stack[i])
            i = i -1

if __name__ == '__main__':
    array = ArrayStack(5)
    print("栈的情况:",array.isEmpty())
    print("栈的情况:", array.isFull())
    array.push(2)
    array.push(3)
    array.push(4)
    array.push(5)
    array.push(6)
    #array.push(7)
    array.showStack()
    array.pop()
    array.showStack()

Top