js选择排序

187 阅读1分钟

找到序列中最小的数与第一位做交换,第二次循环时从第二项开始遍历出最小数然后做交换,第三次从第三项...

let arr = [2,7,4,1,3,6,5,9,0,8]
let minIndex, temp

for (let i = 0; i < arr.length; i++) {
    minIndex = i
    for (let j = i+1; j < arr.length; j++) {
        if (arr[j] < arr[minIndex]) {
            minIndex = j
        }
    }
    temp = arr[minIndex]
    arr[minIndex] = arr[i]
    arr[i] = temp
}

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