程序填空题:大顶堆键值上调
下列代码的功能是将大顶堆`H`中指定位置`P`上的元素的整数键值上调`D`个单位,然后继续将`H`调整为大顶堆。
```c++
void IncreaseKey( int P, int D, PriorityQueue H )
{
int i, key;
key = H->Elements[P] + D;
for ( i = @@[P](3); H->Elements[i/2] < key; i/=2 )
@@[H->Elements[i] = H->Elements[i/2]](3);
H->Elements[i] = key;
}
```
答案:
第1空:P
第2空:H->Elements[i] = H->Elements[i/2]
```c++
void IncreaseKey( int P, int D, PriorityQueue H )
{
int i, key;
key = H->Elements[P] + D;
for ( i = @@[P](3); H->Elements[i/2] < key; i/=2 )
@@[H->Elements[i] = H->Elements[i/2]](3);
H->Elements[i] = key;
}
```
答案:
第1空:P
第2空:H->Elements[i] = H->Elements[i/2]