← 返回题目列表
UNSW COMP2521 · 中等

队列 · 模拟出队序列

队列 · 处理一串入队/出队操作

读入 m 个操作,每个是 E v(enqueue v,入队)或 D(dequeue,出队)。用队列处理,每遇到一个 D 就输出此刻出队的值;如果 D 时队列为空,输出 -1。所有输出在一行,空格分隔。

请补全 enqueue 和 dequeue(先进先出)。

易错点(正是错误实验室里的坑):① dequeue 前要判断队列是否为空(count > 0),空了就返回 -1,别去读垃圾、别让 count 变负。② 队首出队后 head 前进,遵循 FIFO。

输入

  • 第 1 行:操作数 m。
  • 接下来 m 行:E v(入队整数 v)或 D(出队)。

输出

  • 一行:每个 D 操作输出的值(空队列出队为 -1),空格分隔,每个值后跟一个空格。若没有 D 操作,只输出一个换行。

示例:输入 6 / E 1 / E 2 / D / E 3 / D / D → 输出 1 2 3 (先进先出,依次出 1、2、3)。