package com.jiahui.heapSort;
import java.util.Arrays;
/**
* @author shkstart
* @create 2022-10-28 16:16
*/
public class heapSort {
public static void main(String args[]){
int[] arry={1,8,9,6,5,4,2,3};
heapSort(arry);
System.out.println(Arrays.toString(arry));
}
public static void heapSort(int[] arry){
int length=arry.length;
for(int i=length/2-1;i>=0;i--){
adjustHeap(arry,i,length);
}
int temp=0;
for (int j=length-1;j>0;j--){
temp=arry[j];
arry[j]=arry[0];
arry[0]=temp;
adjustHeap(arry,0,j);
}
}
public static void adjustHeap(int[] arry,int i,int length){
int temp=arry[i];
for (int k=i*2+1;k<length;k=k*2+1){
if(k+1<length&&arry[k]<arry[k+1]){
k++;
}
if (arry[k]>temp){
arry[i]=arry[k];
i=k;
}else {
break;
}
}
arry[i]=temp;
}
}
共勉!