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;
}
本文详细介绍了Java实现的堆排序算法,包括堆的构建过程、调整堆和排序步骤,通过实例展示如何使用堆排序对数组进行高效排序。
31万+

被折叠的 条评论
为什么被折叠?



