实现直接插入排序的方法类
package com.hcc.util;
/**
* 直接插入排序
* @author hcc
*
*/
public class DirectInsertSort {
/**
* 从小到大排序
* @param arr
* @param length
*/
public static void sortingMinToMax(int[] arr,int length) {
for(int i = 1;i < length;i++){
int j;
int temp = arr[i];
for(j=i-1;j >=0 && arr[j] > temp;j--) {
arr[j+1] = arr[j];
}
//因为上面循环中是j-- 所以现在的j为-1 所以要加1
arr[j+1] = temp;
}
}
/**
* 从大到小排序
* @param arr
* @param length
*/
public static void sortingMaxToMin(int[] arr,int length) {
for(int i=1;i < length;i++) {
int temp = arr[i];
int j;
for(j = i-1;j >= 0 && arr[j] < temp;j--) {
arr[j+1] = arr[j];
}
arr[j+1] = temp;
}
}
}
测试类
package com.hcc.Test;
import com.hcc.util.DirectInsertSort;
import com.hcc.util.Hea