目录
1.理解
插入排序本质上和选择排序差不多,选择选择最小值插入进去,插入排序是按照顺序出入,在插入之前先寻找合适的插入位置。
2.动态可视化展示
https://visualgo.net/zh/sorting
3.静态图例
4.实现
public static int[] sort(int[] array) {
if (array.length == 0) {
return array;
}
//待排序数据,改数据之前的已被排序
int current;
for (int i = 0; i < array.length - 1; i++) {
//已被排序数据的索引
int index = i;
current = array[index + 1];
//将当前元素后移一位
while (index >= 0 && current < array[index]) {
array[index + 1] = array[index];
index--;
}
//插入
array[index + 1] = current;
}
return array;
}
5.算法稳定性
是