/**
* 希尔排序,对数组进行了等间隔的分组处理,在每一组中作插入排除
* [7,6,3,9,2,1]
* [7,9] [6,2][3,1]
*
*
*
*
*
*/
const shell = function(arr){
let gap = Math.floor(arr.length/2);
while(gap>0){
for(var i=0;i<arr.length;i++){
let j = i;
temp = arr[i];
while(j>0 && arr[j-1]>temp){
arr[j] = arr[j-1];
j--
}
arr[j] = temp
}
gap = Math.floor(gap/2)
}
return arr;
}
const arr = [9,2,8,11,7,99,33,0,77,22,1,77]
console.log(shell(arr))
希尔排序算法
最新推荐文章于 2024-04-30 20:06:58 发布