蓝桥杯 队列操作

题目描述

根据输入的操作命令,操作队列:1 入队、2 出队并输出、3 计算队中元素个数并输出。1N50。

输入描述

第一行一个数字 N。 接下来 N 行,每行第一个数字为操作命令:1入队、2 出队并输出、3 计算队中元素个数并输出。

输出描述

若干行每行显示一个 2 或 3 命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。

#include<bits/stdc++.h>
using namespace std;     
int main()
{
    queue<int> q;
    int i,n,c;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&c);
        switch(c){
            case 1:
                int element;
                scanf("%d",&element);
                q.push(element);
                break;
            case 2:
                if(!q.empty()){
                    printf("%d\n",q.front());
                    q.pop();
                }else{
                    printf("no\n");
                }
                break;
            case 3:printf("%d\n",q.size());
        }
    }
    return 0;
}

提示:

queue<Type> q;      //定义队列,Type为数据类型,如int,float,char等
q. push(item);        //把item放进队列
q.front();         //返回队首元素,但不会删除
q.pop();        //删除队首元素
q.back();        //返回队尾元素
q.size();         //返回元素个数
q.empty();         //检查队列是否为空 

题目链接:队列操作 - 蓝桥云课 (lanqiao.cn)

posted @ 2022-01-30 22:07  弈星  阅读(197)  评论(0)    收藏  举报