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 -----

 

原文地址:https://www.cnblogs.com/denluoyia/p/9673498.html