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”,看看哪个先出来。玩得开心,和朋友们分享吧! 🚂🍪

Back to Blog

相关文章

阅读更多 »

从算法到冒险

《From Algorithms to Adventures》的封面图片 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-...