js选择排序

javascript 复制代码
    function selectionSort(arr) {
        const len = arr.length
 
        // 每一次外循环确定一个最小值(因为是作比较,次数是数组长度-1)
        for(let i = 0; i < len - 1; i++) {
            // 假设当前索引为 i 的元素是最小的
            let minIndex = i
 
            // 每一次内循环两两比较(因为要比完数组剩下所有数,所以 j < 数组长度len)
            for(let j = i + 1; j < len; j++) {
                if(arr[j] < arr[minIndex]) {
                    minIndex = j
                }
            }
 
            // 将最小元素与当前索引的元素进行交换
            [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
        }
        return arr
    }
    
    const nums = [4, 5, 2, 7, 8]
    console.log(selectionSort(nums))  // [2, 4, 5, 7, 8]
相关推荐
lsx2024062 分钟前
NumPy 算术函数
开发语言
程序员南飞3 分钟前
算法笔试-求一个字符串的所有子串
java·开发语言·数据结构·python·算法·排序算法
秦jh_4 分钟前
【C++】哈希扩展
开发语言·c++·哈希算法
阿珊和她的猫5 分钟前
浏览器跨页签数据共享方案
前端·javascript·vue.js·chrome
开发者小天7 分钟前
python中使用jupyter notebook 绘制正态分布直方图 密度图 小提琴图 模仿企鹅喙长分布图
开发语言·python·jupyter
大傻^7 分钟前
Python机器学习实战:用机器学习进行情感分析 核心知识点总结
开发语言·python·机器学习
清风徐来QCQ7 分钟前
java总结
java·开发语言·数据结构
冬夜戏雪8 分钟前
实习面经摘录回答(二)
java·开发语言
郑州光合科技余经理12 分钟前
从零到一:构建UberEats式海外版外卖系统
java·开发语言·前端·javascript·架构·uni-app·php
2301_7965125216 分钟前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:点击组件(跳转快应用)
javascript·react native·react.js·ecmascript·harmonyos