两点优化项
来源:11-3 JavaScript 实现:选择排序

慕用6828665
2021-01-27
let fn = (arr) => {
// 长度要减去1,剩下最后一个值的时候,一定是最大值,不需要针对它遍历
for(let i = 0; i < arr.length - 1; i++){
let minIndex = i;
// j应该从当前值的下一个开始比较,自身与自身比较没有意义
for(let j = i + 1; j < arr.length; j++){
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
//
// console.log(minIndex)
if(i != minIndex){
let temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
console.log(arr)
}
写回答
2回答
-
纯情掉了一地
2021-08-28
j = i+1的话 ,下面也不用再if判断了
00 -
lewis
2021-02-03
good
012021-08-28
相似问题