栈的实现

栈(stack)
有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于
只能允许在容器的一端称为栈顶端指标(top),进行加入数据(push),和输出数据(pop)的运算。
没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。
由于栈数据结构只允许在一端进行操作,因而按照后进先出的原理运作。


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

    #压栈
    def push(self,item):
        self.__list.append(item)

    #弹出栈
    def pop(self):
        return self.__list.pop()

    #栈顶
    def peek(self):
        return self.__list[len(self.__list)-1]

    #求得栈的长度
    def length(self):
        return len(self.__list)

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


if __name__=='__main__':
    stack=Stack()
    print('是否为空栈',stack.isempty())
    stack.push(1)
    stack.push(2)
    stack.push(3)
    stack.push(4)
    stack.push(5)
    print(stack.pop())
    print(stack.pop())
    print(stack.pop())
    print('栈长度',stack.length())
    print('栈顶元素',stack.peek())

你可能感兴趣的:(栈的实现)