堆排序的java实现
package Test;class HeapSorts{ public int[] heapSort(int[] array){ array = buildMaxHeap(array); for(int i=array.length-1;i>0;i--){ int temp = array[0]; array[0] = array[i]; array[i] = temp; adjustDownToUp(array, 0,i); } return array; } //建立大堆 private int[] buildMaxHeap(int[] array){ for(int i=(array.length-2)/2;i>=0;i--){ adjustDownToUp(array, i,array.length); } return array; } //从下向上进行向上调整 private void adjustDownToUp(int[] array,int k,int length){ int temp = array[k]; for(int i=2*k+1; i=array[i]){ break; }else{ array[k] = array[i]; k = i; } } array[k] = temp; } //对toString方法进行覆写 public void toString(int[] array){ for(int i=0;i
运行结果: