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]
相关推荐
星恒随风7 小时前
Python 基础语法详解(一):从表达式、变量到数据类型
开发语言·笔记·python·学习
888CC++7 小时前
java 并发编程
java·开发语言·python
罗超驿7 小时前
18.Web API 实战:元素与表单属性的获取和修改
开发语言·前端·javascript
被子你放开我7 小时前
CRMEB PHP多商户升级4.0太麻烦了
开发语言·php
阿里嘎多学长8 小时前
2026-06-01 GitHub 热点项目精选
开发语言·程序员·github·代码托管
山河已无恙8 小时前
BPF-eBPF 开发路线二:libbpf、CO-RE 与 libbpf-bootstrap认知
javascript·bootstrap·php
醒醒该学习了!8 小时前
Anaconda安装教程+第一个python例子
开发语言·python
ZengLiangYi9 小时前
React Query + REST API 最佳实践
javascript·后端·react.js
ZengLiangYi9 小时前
Fastify 加 Electron:把 Web 服务嵌进桌面应用
前端·javascript·后端