1、插入排序介绍
插入排序属于内部排序法,一般也被称为直接插入排序,对于少量元素排序来说是一个有效的算法。它是对要排序的元素以插入的方式找到元素的适当位置,达到排序的目的
2、插入排序思想:
? 把 n 个要排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含 n - 1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使它成为新的有序表
? 在待排序的元素中,假设前面 n - 1(其中 n >= 2)个数是排好序的
3、插入排序代码实现
public static void insertSort(int[] arr) {
for(int i = 1; i < arr.length; i++) {
int insertValue = arr[i];
int insertIndex = i - 1;
while (insertIndex >= 0 && insertValue < arr[insertIndex]) {
arr[insertIndex + 1] = arr[insertIndex];
insertIndex --;
}
arr[insertIndex + 1] = insertValue;
}
System.out.println(Arrays.toString(arr));
}
|