zoukankan      html  css  js  c++  java
  • JS实现快速排序

    大致分三步:

    1、找基准(一般是以中间项为基准)

    2、遍历数组,小于基准的放在left,大于基准的放在right

    3、递归

            function quickSort(arr){
                //如果数组<=1,则直接返回
                if(arr.length<=1){return arr;}
                var pivotIndex=Math.floor(arr.length/2);
                //找基准,并把基准从原数组删除
                var pivot=arr.splice(pivotIndex,1)[0];
                //定义左右数组
                var left=[];
                var right=[];
    
                //比基准小的放在left,比基准大的放在right
                for(var i=0;i<arr.length;i++){
                    if(arr[i]<=pivot){
                        left.push(arr[i]);
                    }
                    else{
                        right.push(arr[i]);
                    }
                }
                //递归
                return quickSort(left).concat([pivot],quickSort(right));
            }                
  • 相关阅读:
    Access-自定义控件TabControl
    Excel公式-求最低价网站名字
    Excel图表-太极图
    Excel图表-"DNA"图
    VB中的GDI编程-2 画笔
    leetcode
    leetcode
    leetcode
    leetcode
    leetcode
  • 原文地址:https://www.cnblogs.com/dll-ft/p/5850487.html
Copyright © 2011-2022 走看看