我正在练习robert sedgwick的Algorithms book中的优先级队列主题。
在一个问题中,我们必须在sink()
条件下实施j < N
方法。
private void sink(int k){
while (2*k <= N){
int j = 2*k;
if (j < N && less(j, j+1)) j++;
if (!less(k, j)) break;
exch(k, j);
k = j;
}
}
private boolean less(int i, int j){
return pq[i].compareTo(pq[j]) < 0;
}
private void exch(int i, int j){
Key t = pq[i];
pq[i] = pq[j];
pq[j] = t;
}
以上是Robert sedgwick的书中的代码检查页号。 329和问题编号2.4.13