JavaScript实现快速排序(附完整源码)

本文详细介绍了如何使用JavaScript实现快速排序算法。通过选取数组第一个元素为基准值,将数组分为小于基准值的左侧数组和大于等于基准值的右侧数组,然后递归地对这两部分进行排序,最终合并得到有序数组。以示例[3, 0, 2, 5, -1, 4, 1]为例,展示了完整的排序过程。" 113323706,10541736,Vue常用指令详解:v-text、v-html、v-if/v-else、v-for、v-bind/v-model,"['前端开发', 'Vue', '数据绑定']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript实现快速排序


以下是JavaScript实现快速排序的完整源码:

function quickSort(arr) {
  if (arr.length <= 1) {
    return arr;
  }

  const pivot = arr[0];
  const left = [];
  const right = [];

  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < pivot) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
    }
  }

  return quickSort(left).concat(pivot, quickSort(right));
}

const arr = [3, 0, 2, 5, -1, 4, 1];
console.log(quickSort(arr));

首先判断数组长度是否小于等于1,如果是则直接返回原数组。如果不是,则选取数组的第一个元素作为基准值(pivot),然后将数组中小于基准值的元素放入左侧数组(left),大于等于基准值的元素放入右侧数组(right),再递归地对左右两个数组进行快速排序,最后将排序好的左数组、基准值和右数组合并成一个新的数组返回。

例如,对于数组[3, 0, 2, 5, -1, 4, 1],选择基准值3,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码大师

赏点狗粮吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值