您的位置:首页 > 其它

算法提高 队列操作

2018-02-06 23:55 197 查看
问题描述

 队列操作题。根据输入的操作命令,操作队列(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

代码如下:

package ADV_233;
import java.util.ArrayDeque;
import java.util.Queue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Queue<Integer> queue=new ArrayDeque<Integer>();
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
if(n<1||n>50)
return;
for(int i=0;i<n;i++){
int a=cin.nextInt();
if(a==1){
int b=cin.nextInt();
queue.add(b);
}else if(a==2){
if(queue.size()<=0){
System.out.println("no");
System.exit(0);
}
Integer remove=queue.remove();
System.out.println(remove);
}else if(a==3){
int size=queue.size();
System.out.println(size);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: