题目描述
queue<int> 是先进先出(FIFO)的容器:push 从队尾进,pop 让队头出,front() 看队头,back() 看队尾。先看下面这个「读入 个数全部进队,再全部弹出并输出」的完整模板程序:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
queue<int> q;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
q.push(x);
}
while (!q.empty()) { // 队列不空就继续
cout << q.front() << " "; // 看一眼队头
q.pop(); // 队头出队(pop 不返回值)
}
cout << endl;
return 0;
}
你的任务:把模板改成一个元素都不弹出,直接用 front() 与 back() 在一行里输出队头与队尾(两个数,空格分隔)。 时队头队尾是同一个数,照样输出两遍。
输入格式
第一行一个整数 ()。
第二行 个整数 (),按进队顺序给出。
输出格式
一行两个整数:队头与队尾,用空格分隔。
样例
输入:
5
3 1 4 1 5
输出:
3 5
3 最先进队,是队头;5 最后进队,是队尾。
数据范围
,。提示:front() 是队头、back() 是队尾,两个别写重了;空队列上取 front() 是未定义行为,本题 不用担心。