js希尔排序
function shellSort (arr) {
//获取数组的长度 var len = arr.length
//初始化增量 var gap = Math.floor(len / 2)
//gap 不断减小 当gap为0时 已完全排好序 while(gap >= 1) {
//以gap 为间隙对数组进行分组 插入排序 for(var i = gap;i < len; i += gap) { var temp = arr[i] var j = i
while(arr[j - gap] > temp && j > gap - 1) { arr[j] = arr[j - gap] j -= gap } arr[j] = temp }
//变化增量 gap = Math.floor (gap / 2) } return arr }

浙公网安备 33010602011771号