03-插入排序算法
插入排序
插入排序:每次将一个待排序的记录,按其关键字的大小插入到前面已经排续好的数组的适当位置上,直到全部插入为止。时间复杂度为
插入排序代码
public static void insertSort(int[] array, int len){
for (int i = 1; i < len; i++){
int j = i;
int temp = array[i]; //将temp值往前遍历插入到合适的位置
while (j > 0 && array[j-1] > temp){
array[j] = array[j-1];
j--;
}
array[j] = temp;
}
}
测试样例
- 2 1 5 4 3
第1次遍历之后数组为:1 2 5 4 3
第2次遍历之后数组为:1 2 5 4 3
第3次遍历之后数组为:1 2 4 5 3
第4次遍历之后数组为:1 2 3 4 5
----- end -----