算法提高 队列操作
2017-02-10 15:18
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
队列操作题。根据输入的操作命令,操作队列(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
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int N = in.nextInt(); Queue<Integer> myQueue = new LinkedList<Integer>(); for ( int i = 0 ; i < N ; i++){ int flag = in.nextInt(); if ( flag == 1){ int element = in.nextInt(); myQueue.offer(element); }else if ( flag == 2){ if ( myQueue.isEmpty()){ System.out.println("no"); /* * 注意队列为空时有要强行退出.这是这题唯一的坑 * 如果不加"return;"就是60分, * 加了"return;"这一行就是100分 */ return; }else{ System.out.println(myQueue.poll()); } }else if ( flag == 3){ int len = myQueue.size(); System.out.println(len); } } in.close(); } }
相关文章推荐
- 蓝桥 ADV-233 算法提高 队列操作 【STL】
- 蓝桥杯 算法提高 队列操作(Java解题)
- 算法提高 队列操作
- 算法提高 队列操作(Queue)
- 蓝桥 ADV-233 算法提高 队列操作 【STL】
- 蓝桥杯练习:算法提高 队列操作
- 算法提高 队列操作
- 算法提高 ADV-233 队列操作
- 蓝桥杯算法提高-队列操作
- 蓝桥杯 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 算法提高 队列操作
- 蓝桥杯-算法提高-队列操作
- 算法提高 队列操作
- 蓝桥杯算法提高——队列操作(STL)
- 蓝桥杯 ADV-233 算法提高 队列操作
- 蓝桥杯 算法提高 队列操作
- 蓝桥杯 算法提高 队列操作