作者: 清水秋香 | 来源:发表于2020-02-20 15:09 被阅读0次

    栈Stack:什么是栈?
    ❖ 距离栈底越近的数据项,留在栈中的时间 就越长
    而最新加入栈的数据项会被最先移除
    ❖ 这种次序通常称为“后进先出LIFO”: Last in First out 这是一种基于数据项保存时间的次序,时间越短 的离栈顶越近,而时间越长的离栈底越近
    类似于子弹夹

    • python list实现栈
    class Stack(object):
        """栈"""
        def __init__(self):
            self.__list = []
    
        def push(self, item):
            """添加一个新的元素item到栈顶"""
            self.__list.append(item)
    
        def pop(self):
            """弹出栈顶元素"""
            return self.__list.pop()
    
        def peek(self):
            """返回栈顶元素"""
            if self.__list:
                return self.__list[-1]
            else:
                return None
    
        def is_empty(self):
            """判断栈是否为空"""
            return self.__list == []
            # return not self.__list
        def size(self):
            """返回栈的元素个数"""
            return len(self.__list)
    if __name__ == '__main__':
        a = Stack()
        a.push(1)
        a.push(2)
        a.push(3)
        a.push(4)
        # print(a.pop())
        # print(a.pop())
        # print(a.pop())
        # print(a.pop())
        print(a.is_empty())
        print(a.size())
        print(a.peek())
    

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/wjyxqhtx.html