shell sort排序 JavaScript排序算法之希爾排序的2個實例?
JavaScript排序算法之希爾排序的2個實例?代碼示例:function shellSort(arr) {let len = arr.length// gap 即為增量for (let gap =
JavaScript排序算法之希爾排序的2個實例?
代碼示例:
function shellSort(arr) {
let len = arr.length
// gap 即為增量
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
}
}
}
var arr = [3,5,7,1,4,56,12,78,25,0,9,8,42,37]
shellSort(arr)