蓝桥杯 算法提高 队列操作

问题描述
  队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输入格式
  第一行一个数字N。
  下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输出格式
  若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。
样例输入
7
1 19
1 56
2
3
2
3
2
样例输出
19
1
56
0
no
数据规模和约定

  1<=N<=50


#include<stdio.h>  
#include<stdlib.h>  
int a[51]={0},i=0;  
void chudui()  
{  
    int j,k=0;  
    if (i<=0)  
    {  
     printf("no\n");  
     exit(0);  
    }  
    else  
    {  
    printf("%d\n",a[0]);  
    for (j=1;j<i;j++)  
      a[k++] = a[j];  
    a[--i] = 0;  
    }  
}  
int main()  
{  
    int N,n;  
    scanf("%d",&N);  
    while (N--)  
    {  
        scanf("%d",&n);  
        switch (n)  
        {  
            case 1:  
                scanf("%d",&a[i]);  
                i++;  
                break;  
            case 2:  
                chudui();  
                break;  
            case 3:  
                printf("%d\n",i);  
                break;  
        }  
    }  
    return 0;  
}  

阅读更多
个人分类: 蓝桥杯
上一篇蓝桥杯 算法训练 6-2递归求二进制表示位数
下一篇蓝桥杯 算法提高 实现strcmp函数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭