#include "iostream.h"
using namespace std;
//因為i從0開始
#define LeftChild(i) (2*(i)+1)
//i-N范圍內,創建最大堆
void maxHeap(int A[], int i, int N){
int tmp;
int child;
for(tmp=A[i];LeftChild(i)A[child]){
child++;
}
if(tmp=0;i--){
maxHeap(A,i,N);
}
for(int i=N-1;i>0;i--){
//A[0]是最大堆的最大值,通過交換,把堆的最大值置於隊尾
swap(A[0],A[i]);
//重建最大堆
maxHeap(A,0,i);
}
}
int main(int argc, char *argv[])
{
int N;
cin>>N;
int A[100];
for(int i=0;i>A[i];
}
HeapSort(A,N);
for(int i=0;i