希尔排序

var s = [1,3,5,2,3,53,2,3,1];

function insertionSort(arr) {
    for (var gap = Math.floor(arr.length/2);gap > 0; gap = Math.floor(gap/2))
        for (var outer = gap; outer <= arr.length - 1; outer++) {
            var temp = arr[outer];
            var index = outer;
            while (index > 0 && arr[index - gap] > temp) {
                arr[index] = arr[index - gap];
                index = index - gap;
            }
            arr[index] = temp;
        }
        return arr;
}
console.log(insertionSort(s));