栈是一种数据结构,它具有后进先出(Last-In-First-Out,LIFO)的特点。在Python中,可以使用列表构造栈,也可以使用内置模块queue
中的LifoQueue
类。
列表实现栈的方法:
stack = [] # 声明一个列表作为栈
# 入栈
stack.append(item)
# 出栈
stack.pop()
LifoQueue
实现栈的方法:
from queue import LifoQueue
stack = LifoQueue() # 声明一个LifoQueue作为栈
# 入栈
stack.put(item)
# 出栈
stack.get()
以上代码中,item
是待入栈的元素。
使用栈的场景包括:
- 逆序输出
- 表达式求值
- 括号匹配
- 深度优先搜索
- ...
栈的实现方式有很多,选择合适的实现方式取决于具体的应用场景。