跳到主要内容

插入排序

function sort(arr: number[]) {
for (let i = 1; i < arr.length; i++) {
let min = i
for (let j = i - 1; j >= 0; j--) {
if (arr[j] <= arr[min]) {
break
}
swap(arr, j, min)
min = j
}
}
return arr
}
function swap(arr: number[], a: number, b: number) {
const temp = arr[a]
arr[a] = arr[b]
arr[b] = temp
}

测试代码

console.log(sort([5, 8, 6, 3, 9, 2, 1, 7]))
console.log(sort([3, 4, 2, 1, 5, 6, 7, 8]))
console.log(sort([2, 3, 4, 5, 6, 7, 8, 1]))
console.log(sort([4, 4, 6, 5, 3, 2, 8, 1]))