//堆排序 升序publicvoidheadSortOrder(int[] array){//升序创建大堆createBigHeap(array,array.length);for(int i =0;i<array.length-1;i++){// 交换前// 无序区间: [0, array.length - i)// 有序区间: [array.length - i, array.length)swap(array,0,array.length-i-1);// 交换后// 无序区间: [0, array.length - i - 1)// 有序区间: [array.length - i - 1, array.length)// 无序区间长度: array.length - i - 1//向下调整shiftDown_max(array,array.length-i-1,0);}}
1.3.4 堆排序(降序排序):
//堆排序 降序publicvoidheadSortDesc(int[] array){//降序创建小堆createSmallHeap(array,array.length);for(int i =0;i<array.length-1;i++){//交换首尾的值swap(array,0,array.length-i-1);//向下调整shiftDown_min(array,array.length-i-1,0);}}