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

    //5.快速排序  基数,随便找一个数组里面的数,一般情况去数组中间的数字,(这个基数决定了快速排序算法的优劣)

    var arr = [12,2,34,4564,234,23,334,125,65];

     

    //快速排序的函数

    function quickSore(oldArray){

    //出口

    if (oldArray.length <= 1) {

    return oldArray;

    }

    //取出一个基数

    //基数的下标

    var privosIndex = Math.floor(oldArray.length / 2);

    //这个基数需要从这个数组里面剔除出来

    var privos = oldArray.splice(privosIndex,1)[0];

     

    var left = [];

    var right = [];

    for (var i=0;i<oldArray.length;i++) {

    if (oldArray[i] < privos) {

    left.push(oldArray[i]);

    }else{

    right.push(oldArray[i]);

    }

    }

    return quickSore(left).concat(privos,quickSore(right));

    }

     

    var result = quickSore(arr);

    console.log(result);

  • 相关阅读:
    代理
    博客园主题
    JS_1
    脚本语言
    Hadoop生态体系
    Hadoop序列化程序报错
    46. 全排列
    1038 Recover the Smallest Number (30分)
    1064 Complete Binary Search Tree (30分)
    1034 Head of a Gang (30分)
  • 原文地址:https://www.cnblogs.com/mywills/p/6035782.html
Copyright © 2011-2022 走看看