插入排序

基本过程

1. 从前往后遍历数组
2. 将当前元素与前面的所有元素比较,若前面元素比当前元素大,将前面元素后移一位
3. 直至前面元素比当前元素小,将当前元素替换到此位置

JavaScript实现

function fInsertSort(arr){
    var len = arr.length;
    for(var i=1;i < len;i++){
        //arr[i] >= arr[i-1],则arr中的0-i为有序,无需再进行排序,判断可减少一些比较
        if(arr[i] < arr[i-1]){
            var cur = arr[i];
        var  j = i - 1; 
            while(j >=0 && arr[j] > cur){
                arr[j+1] = arr[j];
                j--;
            }
            arr[j+1] = cur;
        } 
    }
    return arr;
}

 

posted @ 2016-12-10 10:27  全玉  阅读(152)  评论(0编辑  收藏  举报