// 希尔排序,gaps是间隔序列
function shellSort(arr, gaps) {
var arr_len = arr.length;
var gaps_len = gaps.length;
for(var g = 0; g < gaps_len; g++) { // 间隔序列长度,比如6个间隔序列
for(var i = gaps[g]; i < arr_len; i++) {
// 这里每个进行直接插入排序
var temp = arr[i];
for(var j = i; j >= 0 && arr[j-gaps[g]] > temp; j-=gaps[g]) {
arr[j] = arr[j-gaps[g]]
}
arr[j] = temp
}
}
}
var gaps = [50, 20, 10, 5, 2, 1];
var arr = [];
for(var i = 0; i < 100; i++) {
var num = parseInt(Math.random().toString().slice(2, 6));
arr.push(num)
}
shellSort(arr, gaps);
console.log(arr);
console