实现方式:
// 插入 排序
int[] a = new int[]{4,5,6,1,3,2};
for (int i = 1 ; i < a.length; i++){
// 从下标为1的开始对比
int value = a[i];
// 初始化i前面的数字
int j = i - 1;
for (;j>=0;--j){
if (a[j] > value){
// 往后排
a[j+1] = a[j];
}else{
break;
}
}
a[j+1] = value;
}
Arrays.stream(a).forEach(ars -> {
System.out.print(ars+",");
});
插入排序算法是原地排序,也是稳定排序
最好是O(n)
最坏是O(n^2)
平均是O(n^2)