(stack),有些地⽅称为堆栈,是⼀种容器,可存⼊数据元素、访问元素、删除元素,它的特点在于只能允许在容器的⼀端(称为栈顶端指标,英语:top)进⾏加⼊数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存⼊的那个元素,确定了⼀种默认的访问顺序。
由于栈数据结构只允许在⼀端进⾏操作,因⽽按照后进先出(LIFO, Last In First Out)的原理运作。
python学习----栈详解及python语法实现

语法实现:

class Stack():
    """栈"""
    def __init__(self):
        self.__items = []
        # self.__items = SingleLinkList() # 也可用链表


    def push(self,item):
        """添加一个新元素item到栈顶"""
        self.__items.append(item)  # 列表首尾O(1)
        # self.__items.insert(0,item)  #列表首O(n)


    def pop(self):
        """弹出栈顶元素"""
        return self.__items.pop()
        # return self.__items.pop(0)


    def peek(self):
        """返回栈顶元素"""
        return self.__items[-1]
        # return self.__items[len(self.__items)-1]


    def is_empty(self):
        """判断是否为空"""
        return self.__items == []
        # return self.__items is None


    def size(self):
        """返回栈的元素个数"""
        return len(self.__items)


if __name__ == '__main__':
    stack = Stack()
    stack.push("hello")
    stack.push("world")
    stack.push("itcast")
    print(stack.peek())
    print(stack.is_empty())

结果:

itcast
False

相关文章: