核心思想
插入排序的核心思想是:将待排数组分成两部分,前面为有序序列,后面为待排序列,依次取出待排序列的值,从后往前依次与有序序列中的每个值进行比较,值大的元素往后移动一位,重复比较,直到遇到更小或者相等的值,则直接插入即可。
代码
//插入排序(从待排序数组中,依次选取值,插入到有序序列中)
public static void Insertsort(int[] arr) {
int n = arr.length;//获取数组长度
for (int i = 1; i < n; i++) {//从第2个元素开始遍历
int temp = arr[i];//记录下当前待排元素的值
int j = i - 1;//记录下有序序列的最后一个值的索引
while (j >= 0 && arr[j] > temp) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
}
}