插入排序
时间复杂度O(n^2)空间复杂度O(1)
思路:将数组分为一共无序列表(右侧)一个有序列表(左侧),最初有序列表只有一个,每次将一个无序列表中的数插入到有序列表中
public static void insertSort(int[] ints){
int n = ints.length;
for (int i = 1; i < n; i++) {//无序列表从i开始
int indexVal = ints[i];//记录i值
int j = i - 1;
while (j >= 0 && ints[j] >indexVal){
ints[j + 1] = ints[j];
j--;
}
//最终j + 1就是indexVal的位置
//判断是否要赋值
if(j != i - 1){
ints[j + 1] = indexVal;
}
System.out.println(Arrays.toString(ints));
}
}