python使用数组实现栈

class ArrayStack:
    def __init__(self):
        self.maxSize = 10 #栈的大小
        self.top = -1 #数组,数组模拟栈
        self.stack = [0]*self.maxSize

    def isFull(self): #判断栈满
        return self.top == self.maxSize-1

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

    def Push(self,num): #  入栈方法
        if self.isFull():
            print("栈满,无法添加")
            return
        self.top += 1
        self.stack[self.top] = num

    def Pop(self):  #出栈方法
        if self.isEmpty():
            print("栈为空,无法pop")
            return
        self.top -= 1
        return self.stack[self.top+1]

    def list(self): #显示栈内情况
        if self.isEmpty():
            print("栈空")
            return
        rangeList = range(0,self.top+1)
        rangeList = rangeList[::-1]
        for i in rangeList:
            print(str(i)+":"+str(self.stack[i]))

if __name__ == '__main__':
    obj1=ArrayStack()
    obj1.Push(1)
    obj1.Push(3)
    obj1.Push(6)
    obj1.Push(7)
    obj1.Push(2)
    obj1.Pop()
    obj1.Push(8)
    obj1.Push(8)
    obj1.Push(8)
    obj1.Push(8)
    obj1.Push(8)
    obj1.Push(8)
    obj1.Push(8)
    obj1.list()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。