算法--希尔排序

83 阅读1分钟

image.png

function shellSort(arr) {
    var len = arr.length,
        temp,
        gap = Math.floor(len/2);
    for (; gap> 0; gap = Math.floor(gap/2)) {
        for (var i = gap; i < len; i++) {
            temp = arr[i];
            for (var j = i-gap; j >= 0 && arr[j]> temp; j-=gap) {
                arr[j+gap] = arr[j];
            }
            arr[j+gap] = temp;
        }
    }
    return arr;
}