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]
相关推荐
HAPPY酷3 分钟前
std::pair` 与 `std::map` 基础
开发语言·c++·算法
懒神降世3 分钟前
基于iVentoy的PXE服务器的部署实战指南
运维·服务器·开发语言·云原生·vmware·openeuler·iventoy
山东布谷网络科技9 分钟前
对标Yalla和Chamet:海外直播语聊APP中多人派对房的关键技术细节
java·开发语言·人工智能·php·语音识别·软件需求·海外电商系统开发
Trae1ounG11 分钟前
这是json
前端·javascript·vue.js
喜欢吃燃面16 分钟前
基础算法:高精度
开发语言·c++·学习·算法
3GPP仿真实验室17 分钟前
【Matlab源码】6G候选波形:OFDM-IM 增强仿真平台 GIM、MM、IQ
开发语言·网络·matlab
xuxie9917 分钟前
【无标题】
java·开发语言
叫我一声阿雷吧21 分钟前
【JS实战案例】实现图片懒加载(基础版)原生JS+性能优化,新手可直接复现
开发语言·javascript·性能优化·js图片懒加载
摇滚侠21 分钟前
基于 session 的登录认证方式,基于 token 的登录认证方式,对比
java·开发语言·intellij-idea
北国13721 分钟前
【Java】多线程输出滞后/错误解决&&线程创建方式与原理
java·开发语言