Stack and Queue — 儿童玩具箱冒险!
发布: (2025年12月11日 GMT+8 10:12)
3 min read
原文: Dev.to
Source: Dev.to
栈:饼干塔游戏
栈就像搭建一座饼干塔。你只能把饼干 放在顶部,或从 顶部 拿走一块。最后放进去的饼干会最先被吃掉!
现实生活中的例子
- 堆放盘子:最上面的盘子最先被洗
- 游戏中的撤销按钮:撤销你最近一次的操作
用简单代码尝试一下(Python)
cookie_tower = [] # Empty tower
# Add cookies (on top)
cookie_tower.append("chocolate")
cookie_tower.append("strawberry")
print("Tower:", cookie_tower) # ['chocolate', 'strawberry']
# Take cookie (from top)
top_cookie = cookie_tower.pop()
print("Eat:", top_cookie) # strawberry
print("Left:", cookie_tower) # ['chocolate']
规则: 后进先出(LIFO)——就像撤销你最近的绘画笔触!
队列:排队上车
队列就像孩子们等校车。排在最前面的孩子 最先 上车!玩具从 后面 进入,从 前面 离开。
现实生活中的例子
- 电影院买票:先到先入
- 打印任务:先发送的文件先打印
用简单代码尝试一下(Python)
train_line = [] # Empty line
# Join line (at back)
train_line.append("Amy")
train_line.append("Ben")
print("Line:", train_line) # ['Amy', 'Ben']
# Leave line (from front)
first_out = train_line.pop(0)
print("Next:", first_out) # Amy
print("Left:", train_line) # ['Ben']
规则: 先进先出(FIFO)——公平有序,就像课间排队一样!
立即动手玩
入门步骤
- 在电脑上打开 Python(或使用 python.org 在线版)。
- 将代码复制到名为
toy_boxes.py的文件中。 - 在命令行运行:
python toy_boxes.py。
你会看到的输出
Tower: ['chocolate', 'strawberry']
Eat: strawberry
Left: ['chocolate']
Line: ['Amy', 'Ben']
Next: Amy
Left: ['Ben']
它们在现实生活中藏在哪里?
- 栈: 浏览器后退按钮、拼图游戏的步数记录。
- 队列: 超市收银台、电子游戏的等待列表。
现在你已经是玩具箱大师了!在两者中加入 “apple” 或 “banana”,看看哪个先出来。玩得开心,和朋友们分享吧! 🚂🍪