JavaScript 数组排序——快速排序[通俗易懂]

JavaScript 数组排序——快速排序[通俗易懂]数组中的快速排序就是取原始数组中的一个元素最为基点,小于基点的放在一个数组中,大于基点的放在一个数组中,无限循环,知道将数组分解到长度(length<1)停止vararr=[12,3,569,78,0,-56,-56,-56,1223,11,16,13,1];functionquickSort(arr){if(arr.length<1)returnarr;分解数组,长度小于1的时候停止执行varmiddle=pa…

大家好,又见面了,我是你们的朋友全栈君。

   数组中的快速排序就是取原始数组中的一个元素最为基点,小于基点的放在一个数组中,大于基点的放在一个数组中,无限循环,知道将数组分解到长度(length<1)停止
var arr = [12, 3, 569, 78, 0, -56, -56, -56, 1223, 11, 16, 13, 1];
  function quickSort(arr) {
    if (arr.length < 1) return arr;分解数组,长度小于1的时候停止执行
    var middle = parseInt(arr.length / 2);在数组中寻找一个基点的下标
    var basic = arr.splice(middle, 1);将寻找到的基点的元素进行保存
    var left = [];创建新数组
    var right = [];创建新数组
    遍历寻找完基点的数组
    for (var i = 0; i < arr.length; i++) {
    利用寻找的基点进行划分
    小于寻找到的基点放在一个数组中
    大于寻找到的基点放在一个数组中
      if (basic[0] > arr[i]) {
        left.push(arr[i]);
      } else {
        right.push(arr[i]);
      }
    }
	将分割完成的数据+寻找的基点进行组合,形成排序后的新数组
    return quickSort(left).concat(basic[0], quickSort(right));
  }
  console.log(quickSort(arr));
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133116.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号