思路如下:
首先选取第二个点作为比较的开始,和它的前一个进行比较,如果小于第一个就把第一个的值赋给当前进行比较的下标索引
每次都从后面往前比较
逐步后移
public static int [] insertSort(int[] arr){
int insertVal = 0;//初始化待插入的值
int insertIndex = 0;//初始化待插入的索引位置
for (int i = 1; i < arr.length; i++) {
//定义待插入数
insertVal = arr[i];
insertIndex = i -1;
while(insertIndex >= 0 && insertVal<arr[insertIndex]){
arr[insertIndex+1] = arr[insertIndex];//发现插入的位置后,将当前的位置往后移,腾出位置
insertIndex--;//插入位置-1,继续往前比较是否更小,更小继续往后移,不满足则跳出while,+1落定位置
}
arr[insertIndex+1] = insertVal;
}
return arr;
}