Сортировка расчёской не работает
Вот код сортировки:
function sort(arr,num=1.25,fn){
if(!fn){
fn=function(x){
return x;
}
}
let l = arr.length;
let factor = num;
let hFactor = l/factor;
let h=0;
let i=0;
while(hFactor > 1){
h = Math.round(hFactor);
i=0;
j=h;
while(j<l){
if(fn(arr[i]) > fn(arr[j])){
[arr[i],arr[j]] = [arr[j],arr[i]];
}
i++;
j++;
}
hFactor/=factor;
}
return arr;
}
var arr=[];
let i=0;
while(i<1000){
arr.push(Math.random());
i++;
}
sort(arr,1.36);
i=0;
while(i<arr.length-1){
if(arr[i+1]-arr[i]<0){
console.log('!');
}
i++;
}