1.输入接受一个数字 n ,求一个队列,该队列由数字[1...n]组成, 且满足不断将队头元素移到队尾,然后输出队头,如此循环,最后的输出是有序的。
分析:用有序的队列 [0...n-1] 模拟出队后移,出队输出的操作。
public static void getQueue(int n){ int[] map = new int[n]; LinkedList<Integer> queue = new LinkedList<Integer>(); for(int i = 0 ; i < n; i ++) queue.add(i); int pos = 1; while(!queue.isEmpty()){ queue.addLast(queue.removeFirst()); map[queue.removeFirst()] = pos ++; } for(int i = 0 ; i < map.length ; i ++) {System.out.print(map[i] +" ");} System.out.println(); }
时间: 2024-10-09 11:54:19