直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。
public class InsertSort {
public static void main(String[] args) {
int[] arr = {2, 4, 1, 6, 3, 9};
//将后面arr[1]到arr[n]的数往前面插
for (int i = 1; i < arr.length; i++) {
//给arr[i]找到要插入的位置
//待插入的数
int insertValue = arr[i];
//待插入数的前一个数下标
int index = i - 1;
while (index >= 0 && insertValue < arr[index]) {
arr[index + 1] = arr[index];
index--;
}
arr[index + 1] = insertValue;
}
System.out.println(Arrays.toString(arr));
}
}