中午下课铃一响,同学们冲向食堂。先到的同学站在队伍前面,后到的只能排在队尾。
队头 ← 小明 · 小红 · 小刚 · 小李 ← 队尾
队伍有两个固定规矩:
① 新来的人只能从队尾加入(谁都不许插队);
② 打完饭的人只能从队头离开(前面的人不走,后面的人就等着)。
小明第一个打完饭离开后,小红自动成为新的队头;这时小强来了,只能排到小李后面。
先来的先服务,后来的后服务 —— 这就是队列的"先进先出"!🚶♂️🚶♀️
如果有人能"插队"(比如老师优先),那就不叫普通队列了,而叫优先队列(本讲拓展部分会提到)。
💡 和栈对比一下
如果食堂只有一个死胡同窗口,先进去的人最后才能出来 —— 那是栈(后进先出)。
而队列是一条两头通的通道:一头只进,另一头只出,先来的必定先走。