java代码如下
public static void HeapSort(int[] oriArray){
int length = oriArray.length;
for (int i = 0 ; i < length ; i++){
buildHeap(oriArray,length - i );
System.out.print(Arrays.toString(oriArray));
swap(oriArray,0,length - i -1);
System.out.println(Arrays.toString(oriArray));
}
}
public static void buildHeap(int[] oriArray,int size){
for(int i = size/2 ; i > 0 ; i --){
if(oriArray[i-1]
swap(oriArray,i-1,2*i-1);
}
if(2*i+1 <= size && oriArray[i-1]
swap(oriArray,i-1,2*i);
}
}
}
public static void swap(int[] oriArray,int a , int b){
int tmp = oriArray[a];
oriArray[a] = oriArray[b];
oriArray[b] = tmp;
}