选择排序
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));
近期评论