Python实现栈数据结构的基本操作
发布时间:2023-12-04 12:32:20
栈是一种常见的数据结构,它采用“先入后出”的原则,类似于我们生活中的堆叠物品,最后放入的物品会最先取出。
在Python中,我们可以使用列表(list)来实现栈的功能。以下是栈数据结构的基本操作及其使用示例:
1. 初始化栈:
通过创建一个空列表来初始化栈。
stack = []
2. 判断栈是否为空:
使用列表的len()函数来判断栈是否为空。如果栈的长度为0,则为空。
if len(stack) == 0:
print("栈为空")
3. 向栈中添加元素(入栈):
使用列表的append()函数将元素添加到栈的末尾。
stack.append(1) stack.append(2) stack.append(3)
4. 从栈中取出元素(出栈):
使用列表的pop()函数将栈的最后一个元素取出并返回。
last_element = stack.pop() print(last_element) # 输出:3
5. 查看栈顶元素:
使用列表的索引操作来访问栈的最后一个元素。
top_element = stack[-1] print(top_element) # 输出:2
以下是一个完整的栈的使用示例,实现了一个简单的逆波兰表达式求值的功能:
def evaluate(expression):
stack = []
operators = ['+', '-', '*', '/']
for token in expression.split():
if token not in operators:
stack.append(int(token))
else:
b = stack.pop()
a = stack.pop()
if token == '+':
stack.append(a + b)
elif token == '-':
stack.append(a - b)
elif token == '*':
stack.append(a * b)
elif token == '/':
stack.append(a / b)
return stack.pop()
expression = "5 2 + 3 *"
result = evaluate(expression)
print(result) # 输出:21
以上是栈数据结构在Python中的基本操作及其使用示例,希望能帮助到你理解栈的概念和应用。
