public static void sort(int[] arry){
int size = arry.length ;
for(int i = size/2 -1 ;i>=0;i--){
heapify( arry,size , i);
}
for(int i = size-1 ;i>=0 ;i--){
swap(arry,i,0);
heapify( arry,i , 0);
}
}
public static void heapify(int[] arry,int n ,int i){
int left = 2*i+1;
int right= 2*i+2;
int max = i ;
if(left < n && arry[left] > arry[max]){
max = left;
}
if(right < n && arry[right] > arry[max]){
max = right;
}
if(max !=i) {
swap(arry, max, i);
heapify(arry, n, max);
}
}
public static void swap(int[] arry,int i ,int j){
int temp = arry[i];
arry[i]=arry[j];
arry[j]=temp;
}