程序填空题:小顶堆键值下调
下列代码的功能是将小顶堆`H`中指定位置`P`上的元素的整数键值下调`D`个单位,然后继续将`H`调整为小顶堆。
```c++
void DecreaseKey( 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 DecreaseKey( 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]