Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 快速排序

作者:索伦之刃   发布日期:2025-04-04   浏览:45

function quickSort(arr) {
    // 如果数组长度小于等于1,直接返回数组(递归终止条件)
    if (arr.length <= 1) {
        return arr;
    }

    // 选择基准元素(这里选择数组的第一个元素作为基准)
    const pivot = arr[0];

    // 定义左右两个子数组
    let left = [];  // 小于基准的元素
    let right = []; // 大于基准的元素

    // 遍历数组(除了第一个元素),将元素分配到左右子数组中
    for (let i = 1; i < arr.length; i++) {
        if (arr[i] < pivot) {
            left.push(arr[i]);
        } else {
            right.push(arr[i]);
        }
    }

    // 递归调用quickSort对左右子数组进行排序,并将结果拼接起来
    return [...quickSort(left), pivot, ...quickSort(right)];
}

// 示例调用
console.log(quickSort([3, 6, 8, 10, 1, 2, 1])); // 输出: [1, 1, 2, 3, 6, 8, 10]

这段代码实现了快速排序算法。快速排序是一种分治算法,它通过选择一个基准元素,将数组分成两部分:一部分小于基准元素,另一部分大于基准元素,然后递归地对这两部分进行排序。最终将排序好的子数组和基准元素合并,得到完整的有序数组。

上一篇:js call

下一篇:js sort()

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站