队列游戏 题目描述 初始时,队列为空,陆续有一些人加入队列,一些人离开队列,或者队头的人走到队尾,求若干次队列操作后队伍的人员情况。 输入 一个正整数n( 1 ≤ n ≤ 1000 ),表示n次操作。 接下来n行,如果开头的数为1表示队头元素出队,为2表示有数加入队尾,后面跟着一个加入的数,为3表示队头元素走到队尾。所有操作均合法(即不会在队空状态下做出队或队头到队尾的操作) 输出 若干行,每行一个整数,表示n次操作后队列中的所有数。 样例 输入 5 2 4 2 9 2 10 1 3 输出 10 9 请用c++语言编码
时间: 2024-04-12 18:29:20 浏览: 107
【数据结构实验】队列的应用
5星 · 资源好评率100%
你好!对于这个问题,你可以使用C++语言来编写。下面是一个示例代码,可以实现题目描述中的功能。
```cpp
#include <iostream>
#include <queue>
int main() {
int n;
std::cin >> n;
std::queue<int> q;
for (int i = 0; i < n; i++) {
int operation;
std::cin >> operation;
if (operation == 1) { // 队头元素出队
q.pop();
} else if (operation == 2) { // 有数加入队尾
int num;
std::cin >> num;
q.push(num);
} else if (operation == 3) { // 队头元素走到队尾
int front = q.front();
q.pop();
q.push(front);
}
}
while (!q.empty()) {
std::cout << q.front() << " ";
q.pop();
}
return 0;
}
```
你可以将这段代码保存为一个名为 "queue_game.cpp" 的文件,并通过编译器进行编译和运行。输入示例中的样例数据后,程序将输出相应的结果。
希望这个代码能帮到你!如果有任何其他问题,请随时提问。
阅读全文