SOURCE

/**
 * 实现原理
 * 是一种原地址比较排序算法。大致思路是找到数据结构中的最小值并将其放置在第一位置,接着找到第二小的值并将其放置到第二位置,以此类推。
 */

function selectionSort(arr){
    let len = arr.length
    let minIndex,temp
    for(let i=0;i<len-1;i++){
        minIndex = i
        for(let j=i+1;j<len;j++){  //之前的数据都是已经排序好的数据
            if(arr[j] < arr[minIndex]){ //查找j之后数据中的最小值
                minIndex = j
            }
        }
        temp = arr[i]
        arr[i] = arr[minIndex]
        arr[minIndex] = temp

        console.log(arr[i],arr[minIndex],minIndex,arr,'-----')
    }
    return arr
}

console.log(selectionSort([8,2,5]))
console 命令行工具 X clear

                    
>
console