#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void jj(int A[],int i,int num){
int temp=A[i],temp2;
for(int j=2*i;j<=num-1;j=j*2){
if(A[j+1]<A[j] &&j<=num-2){
j++;
}
if(A[j]<temp){
temp2=A[j];
A[j]=A[i];
A[i]=temp2;
i=j;
}
else
break;
}
}
void xgd(int A[],int n){
for(int i=n/2-1;i>=0;i--){
jj(A,i,n);
}
}
void Sort(int A[],int n){
xgd(A,n);
int temp;
for(int i=n-1;i>=0;i--){
temp=A[0];
A[0]=A[i];
A[i]=temp;
jj(A,0,i);
}
}
void Printf(int A[],int n){
for(int i=n-1;i>=0;i--){
printf("%d ",A[i]);
}
printf("\n");
}
int main(){
int A[13]={1,4,2,9,5,6,72,4,5,32,6,0,45};
int n=13;
Sort(A,n);
Printf(A,n);
return 0;
}
09-14
409