选择排序
- 找到数组中的最小值,放到数组的第1个位置
- 接着找到第2个最小值,将其放到第2个位置
- 执行n-1轮,完成排序
方法实现:
function selectSort(arr) {
for( let i = 0, len = arr.length; i < len; i++) {
let minIndex = i;
for(let j = i + 1; j < len; j++) {
// 第二层循环找最小值索引
if(arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if(minIndex !== i) {
// 找到最小索引后,让arr[i]和最小索引调换位置
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];
}
}
return arr;
}