‹ 上一题 下一题 ›

g5-08219. 队头队尾 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLqueue

题目描述

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() 是未定义行为,本题 不用担心。

输入
输出

            
答案