#12084. 排队结账系统
排队结账系统
✅ Day 1 · Problem 1:《排队结账系统》
🧭 题目描述
超市里有一个收银台,每个顾客会按照到达顺序排队等候结账。
支持如下操作:
arrive x
:编号为x
的顾客到达,加入队尾;serve
:服务当前队头顾客(即让他离开队伍);check
:输出当前队伍中所有顾客的编号(从队头到队尾),用空格隔开。如果队伍为空,输出empty
。
请你模拟整个排队过程。
📥 输入格式
第一行是一个整数 q(1 ≤ q ≤ 100),表示操作次数。
接下来 q 行,每行一个操作:
- arrive x
- serve
- check
📤 输出格式
- 每次执行
check
操作时,输出一行队伍状态; arrive
和serve
操作无需输出。
📌 样例输入
7
arrive 101
arrive 102
check
serve
check
serve
check
✅ 样例输出
101 102
102
empty
🧠 思维分析
操作 | 队列状态 | 输出 |
---|---|---|
arrive 101 | [101] | |
arrive 102 | [101, 102] | |
check | 101 102 |
|
serve | [102] | |
check | 102 |
|
serve | [] | |
check | empty |
💡 模拟重点
- 队列的顺序保持严格;
check
输出格式别忘;serve
时先判断队伍是否为空(可以在题目增强版中加这个逻辑);