zoukankan      html  css  js  c++  java
  • 快速排序算法实现及其案例

    快速排序是对冒泡排序的一种改进,基本思路如下

    1.先从数列中取出一个数作为基准数

    2.将数组中比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边

    3.再对左右区间重复第二步,直到各区间只有一个数

    js案例:

    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));
    }           
  • 相关阅读:
    js加载优化三
    js加载优化-二
    js加载优化
    怎样获取元素的高度
    HttpClient
    Android Http请求方法汇总
    table列等宽
    单页面手机开发
    单页面
    【154】C#打包程序成安装包
  • 原文地址:https://www.cnblogs.com/xiaohualu/p/9849762.html
Copyright © 2011-2022 走看看