算法 【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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.StreamTokenizer; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class BISHI1 { public static int q; 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)); List<Integer> list = new ArrayList<>(); while (in.nextToken() != StreamTokenizer.TT_EOF) { q = (int) in.nval; for (int i = 0; i < q; i++) { in.nextToken(); int a = (int) in.nval; switch (a) { case 1: in.nextToken(); list.add((int) in.nval); break; case 2: list.remove(list.size() - 1); break; case 3: in.nextToken(); out.println(list.get((int) in.nval)); break; case 4: in.nextToken(); int ii = (int) in.nval; in.nextToken(); int iii = (int) in.nval; list.add(ii+1,iii); break; case 5: Collections.sort(list); break; case 6: Collections.sort(list,(o1,o2)->(o2-o1)); break; case 7: out.println(list.size()); break; case 8: list.forEach(y->out.print(y+" ")); out.println(); break; default: break; } } } out.flush(); out.close(); } }