严蔚敏数据结构P282 代码与P281图示不符 应改为如下 #include <stdio.h>#include <stdlib.h>int a[] = {49, 38, 65, 97, 76, 13, 27, 49};void HeapAdjust(int *a, int s, int m){int temp, i;temp = a[s];for(i=2*s+1; i<=m; i=i*2+1){if(i<m && a[i]>a[i+1])//i为较小数的下标 严蔚敏数据结构P282 伪代码注释为“J为KEY较大的记录的下标” 应该为“J为KEY较小……” 相应的代码也应改正i++;if(!(temp > a[i]))//书上此处的伪代码也是错的break;a[s] = a[i];s = i;}a[s] = temp;}void HeapSort(int *a, int size){int i, temp;for(i=(size-1)/2; i>=0; i--)HeapAdjust(a, i, size-1);for(i=size-1; i>0; i--){temp = a[0];a[0] = a[i];a[i] = temp;HeapAdjust(a, 0, i-1);}}int main(){int size, i;size = sizeof(a)/sizeof(int);HeapSort(a, size);for(i=0; i<size; i++){printf("%d ", a[i]);}system("pause");return 0;}#include <stdio 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交