selectionsort

选择排序

1.遍历数组,设置最小值的索引为0,如取出值比当前最小值小,就替换最小值索引,

遍历完后,将第一个元素和最小值索引上的值替换

2.下次遍历从索引1开始重复上述操作

O(n*n)

function selectionSort(array){
    for(let i = 0; i < array.length-1; i++){
        let minIndex = i;
        for(let j = i+1; j < array.length; j++){
            minIndex = (array[j] < array[minIndex])? j : minIndex;
        }
        swap(array, i, minIndex);
    }
    return array;
}

function swap(array, i, j){
    let temp=0;
    temp = array[i];
    array[i] = array[j];
    array[j] = temp;
}

let array=[60,45,37,5,48,15,37,26,29,2,46,4,17,50,52];//调用排序算法 
console.log(selectionSort (array));