// 选择排序
//时间复杂度O(²) 空间复杂度O(1) 不稳定
//选择最小的数放在第一位
function selectStor(arr) {
let length = arr.length; //记录长度
let mixIndex; //最小值的index
for (let i = 0; i < length - 1; i++){
mixIndex = i; //暂定为外层循环到的次数
for (let j = i; j < length; j++){
if (arr[mixIndex] > arr[j]) { //比较下标为mixIndex和下标为j的数值大小
mixIndex = j //如果下标为j的数值比下标为mixIndex小,更新mixIndex的值
}
}
//循环完成后 arr[mixIndex]及为剩下数值中的最小值
if (i !== mixIndex) { //比较初始mixIndex值和循环后的mixIndex值,不相同证明arr[i]不是剩下的最小值
let temp = arr[i];
arr[i] = arr[mixIndex]; //内部交换
arr[mixIndex] = temp
}
}
console.log(arr);
}
selectStor([2, 1, 3, 7, 4])
JavaScript选择排序
最新推荐文章于 2024-09-05 20:52:23 发布