- 栈的基本概念(空栈、栈顶、栈底)和特点(先入后出)
Python 语言确实支持栈数据结构,但它通常是通过列表来模拟实现的。
- 获取栈的长度,即栈中元素的数量,这通过
len()
获取列表的长度来实现。 - 进栈操作,将新的元素放入到栈中,新的元素成为栈顶元素,栈顶元素即最后一个元素,这通过
append()
操作将新的元素添加到列表中就可以实现。 - 出栈操作,栈顶元素 (列表的最后一个元素) 从栈中离开,可以通过
pop()
移除列表的最后一个元素。 - 获取栈顶元素:获取列表的最后一位元素即可,可以通过索引
list[-1]
获取。 - 判断栈是否为空:可以通过
if not stack
来判定。
stack = [] #创建一个新列表#入栈
stack.append(1)
stack.append(2)
stack.append(3)#出栈
top_element = stack.pop() #弹出并返回栈顶元素
print(top_element) #输出3#判读是否栈空
if not stack:
# 读取初始盘子数量
n = int(input())
plates = list(map(int, input().split()))
stack = []# 读取盘子的编号列表
for element in plates:stack.append(element)# 读取操作次数
m = int(input())# 循环处理每次操作
for _ in range(m):ope = input().split()if int(ope[0]) == 1:# 操作 1: 拿走并清洗盘子if stack:top_element = stack.pop()else:continue# 操作 2: 将未洗的盘子放入盘子堆放区elif int(ope[0]) == 2:stack.append(int(ope[1]))# 判断盘子堆放区是否为空
if not stack:print("All the dishes have been washed.")
else:print(stack.pop())