算法1:
void Heap_Sort(ElementType A[],int N)
{
BuildHeap(A);
for(i=0;i<n;i++)
{
TmpA[i]=DeleteMin(A);
}
for(i=0;i<N;i++)
A[i]=TmpA[i];
}
需要额外o(N)空间
算法2:
void Heap_Sort(ElementType A[],int N)
{
for (i = N / 2; i >= 0;i--)
{
PercDown(A, i, N);
}
for (i = N - 1; i > 0;i--)
{
Swap(&A[0], &A[i]);
PercDown(A, 0, i);
}
}