程序填空题:Lower the key in a min-heap
The function is to lower the value of the integer key at position P by a positive amount D in a min-heap 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]