算法 【ACM模式】队列操作 求解代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StreamTokenizer in = new StreamTokenizer(br); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); Deque<Integer> queue = new ArrayDeque<>(); while (in.nextToken() != StreamTokenizer.TT_EOF) { int n = (int) in.nval; for (int i = 0; i < n; i++) { in.nextToken(); int a = (int) in.nval; switch (a) { case 1: in.nextToken(); queue.add((int) in.nval); break; case 2: if (queue.isEmpty()) { out.println("ERR_CANNOT_POP"); } else { queue.pollFirst(); } break; case 3: if (queue.isEmpty()) { out.println("ERR_CANNOT_QUERY"); } else { out.println(queue.peekFirst()); } break; case 4: out.println(queue.size()); break; default: break; } } } out.flush(); out.close(); }