栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。
- 代码(使用list):
本文链接: 时光不写博客class Stack(object): # 初始化 def __init__(self): self.items = [] # 判断是否为空 def is_empty(self): return self.items == [] # 返回栈顶元素 def peek(self): if self.is_empty(): raise KeyError("stack is None") return self.items[len(self.items) - 1] #返回栈的大小 def size(self): return len(self.items) # 入栈,把新的元素放进栈里 def push(self, item): self.items.append(item) # 出栈,把栈顶元素丢出去 def pop(self): if self.is_empty(): raise KeyError("stack is None") return self.items.pop() if __name__ == '__main__' : a_stack = Stack() # 插入元素 a_stack.push('一') a_stack.push('二') a_stack.push('三') print(a_stack.size()) # 3 print(a_stack.peek()) # 三 print(a_stack.pop()) # 三 print(a_stack.peek()) # 二 print(a_stack.size()) # 2 print(a_stack.is_empty()) # False a_stack.__init__() print(a_stack.is_empty()) # True