选择排序

-

复制代码
const array = [10, 7, 2, 100, 5, 5, 230, 400, 1, -2];
// 选择排序
// 找到数组中的最小值,放到数组的第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;
}
复制代码

-

posted @   古墩古墩  Views(10)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示