javascript
let gaps=[5,3,1]
function xSort(arr){
for(let g=0;g<=gaps.length-1;g++){
for(let i=gaps[g];i<=arr.length-1;i++){
let cur=arr[i];
let j=i
while(j>=gaps[g]&& arr[j-gaps[g]]>cur){///当前值间隔前面, 比当前值大的都往后移
arr[j]=arr[j-gaps[g]]
j-=gaps[g]
}
arr[j]=cur;
}
}
return arr;
}
xSort([4, 7, 6, 5, 3, 2, 8, 1]);
javascript
希尔排序(是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1 时,整个文件恰被分成一组,算法便终止)
Related Issues not found
Please contact @CHENJIAMIAN to initialize the comment