public static void zorkSort(int[] A, int k) { int i; int n = A.length; i = 0; PriorityQueue<Integer> pq = new PriorityQueue<>(); while (i < k) { pq.add(A[i]); i++; } while (i < n) { A[i - k] = pq.remove(); // 在可以接收到范围内进行排序 pq.add(A[i]); i += 1; } while (!pq.isEmpty()) { // 已经处理完前 (n - k) 个元素,接下来处理剩下的 A[i - k] = pq.remove(); i++; } }
标签:pq,int,CS61b,最小,PriorityQueue,while,add,排序 From: https://www.cnblogs.com/xuenima/p/17437443.html