选择排序 这样做 是不是更好
来源:5-2 选择排序
饕餮3
2019-02-25
export default(arr)=>{
for(let i=0;i<arr.length;i++){
let minIndex=i
for(let j=i+1;j<arr.length;j++){
if(arr[j]<arr[minIndex]){
minIndex=j //内层循环时记录下最小索引值
}
}
let temp=arr[i] //内层循环结束后,将记录下的最小值放在最前面
arr[i]=arr[minIndex]
arr[minIndex]=temp
}
return arr
}
// 老师您的做法我是真的没太理解,感觉是内层循环只要有最小值 就要交换
写回答
2回答
-
wukongkong
2019-08-11
我也是这样写的,明显是有问题的... 这样的化,其实是冒泡排序。
选择排序arr[i] 最多被修改arr.length次数,而这样写的话就多多了...
00 -
快乐动起来呀
2019-02-25
那个动画你看了吗?建议你多看两遍,这道题目就是选择排序的理论讲解,有时候面试题会要求用选择排序。或者说利用选择排序去解决问题,同学多一点耐心呀
062020-02-12
相似问题