shell sort
function shellSort(sortList){
let drict = sortList.length
do{
drict = Math.floor(drict/3)+1
for(let i = 0;i + drict<=sortList.length-1;i++){
if(sortList[i]>sortList[i+drict]){
swap(sortList,i,i+drict)
for(let j = i;j>=drict;j-=drict){
if(sortList[j-drict]>sortList[j]){
swap(sortList,j-drict,j)
}
}
}
}
}while(drict>1)
return sortList
}
function swap(sortList,start,end){
let temp = sortList[start]
sortList[start]=sortList[end]
sortList[end]=temp
}
console.log(shellSort([9,1,5,8,3,7,4,6,2]))