栈:是一种容器,可存入数据元素、访问元素、删除元素
特点:只能从顶部插入(入栈)数据和删除(出栈)数据
原理:LIFO(Last In First Out)后进先出
栈可以使用顺序表实现也可使用链表实现
使用python列表实现代码:
class Stack(object): """ 栈 使用python列表实现 """ def __init__(self): self.items = list() def is_empty(self): """判空""" return self.items == [] def size(self): """获取栈元素个数""" return len(self.items) def push(self, item): """入栈""" self.items.append(item) def pop(self): """出栈""" self.items.pop() def peek(self): """获取栈顶元素""" if self.is_empty(): raise IndexError("stack is empty") return self.items[-1]