{
int i;
for (i = n / 2 - 1 ; i >= 0 ; i --) {
heapSortArray (arr, i, n);
}
for (i = n - 1 ; i > 0 ; i --) {
int temp = arr[i];
arr[i] = arr[ 0 ];
arr[ 0 ] = temp;
heapSortArray (arr, 0 , i);
}
}
void heapSortArray( int arr[], int i, int n)
{
int child,temp;
for (temp = arr[i]; i * 2 + 1 < n ;i = child ) {
child = 2 * i + 1 ;
if (child < n - 1 && arr[child] < arr[child + 1 ]) {
child ++;
}
if (arr[child] > temp) {
arr[i] = arr[child];
}
else
{
break ;
}
}
arr[i] = temp;
1932



被折叠的 条评论
为什么被折叠?



