排序思想:
进行n趟循环,保证每趟把前n个数字变成有序的,n趟过后,数组就会变成有序的
排序趟数:
n-1趟
排序原理:
每趟找到当前n对应下标的数字作为基准,往前面比较,找到合适的位置插入,以保证这趟过后,数组前部分数字有序
参考图片:
实现代码如下:
//直接插入排序
public static void insertSort(int[] array){
for (int i = 1; i < array.length; i++) {
int temp = array[i];//取出本趟第一个数字作为基准
int j = i - 1;
while (j >= 0 && temp < array[j]) {//从现在的位置往前依次寻找
array[j + 1] = array[j];
j --;
}
array[j + 1] = temp;//找到合适的位置插入
}
}