/**
*
* 实现原理
* 将整个待排序的序列分割成若干子序列分别进行直接插入排序
*/
function shellSort(arr){
let len = arr.length
for(let gap=Math.floor(len/2);gap>0;gap=Math.floor(gap/2)){
for(let i=gap;i<len;i++){
let j = i
let current = arr[i]
while(j-gap >= 0 && current < arr[j - gap]){
arr[j] = arr[j -gap]
j = j - gap
}
arr[j] = current
}
}
return arr
}