您的位置:首页 > 其它

蓝桥杯 ADV-233 算法提高 队列操作

2017-02-19 15:27 316 查看
算法提高 队列操作  

时间限制:1.0s   内存限制:256.0MB
    

问题描述

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

 

可以直接运用Java API来完成这道题,不用自己去实现一个队列了。

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Queue<Integer> queue = new LinkedList<>();
for (int i = 0; i < n; i++) {
int op = sc.nextInt();
switch (op) {
case 1:
queue.add(sc.nextInt());
break;
case 2:
if (queue.isEmpty()) {
System.out.println("no");
return ;
} else {
System.out.println(queue.poll());
}
break;
case 3:
System.out.println(queue.size());
break;
default:
break;
}
}
sc.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: