栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。
这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新
元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元
素删除掉,使其相邻的元素成为新的栈顶元素。
特点:后进先出(LIFO)
使用场景:平衡符号的判断,行编译器等,后续会有详解。
代码实现:
class Stack: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self,item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(self.items) - 1] def size(self): return len(self.items) s = Stack() print("stack test start:") s.push(4) s.push('dog') s.push(True) s.push(8.4) print("stack size: %d " % s.size()) print("stack element: %s" % s.peek()) print("del element: %s" % s.pop()) print("stack size: %d" % s.size())