美文网首页
快速排序

快速排序

作者: Christoles | 来源:发表于2019-03-16 17:29 被阅读0次

    1. 特点:快速排序 --- 适用于大数据的比较

    • 比较的元素越多,快速排序比冒泡排序越快
    • 在比较少元素的情况下,冒泡排序才比较快
    • 这里相对于冒泡排序,5000个数是临界点

    2. 原理:

    每次选择一个数比如A,跟其他数比较,比A大的放左边,比A小的放右边。
    以此类推

    3. 代码:

    var arr = [];
    var ran;
    for(var i=0;i<10000;i++){
        var ran = Math.floor(Math.random()*10000);
        arr.push(ran);
    }
    
    console.time("快速排序:")//中间的字符串名称要一模一样
    
    function quickOrder(arr){
        var left = [];
        var right = [];
        if(arr.length<1){//<1 或 <2都可以
            return arr;
        }
        var first = arr.splice(0,1);
        for(var i=0;i<arr.length;i++){
            if(first<arr[i]){//从大到小    >的话是从小到大
                left.push(arr[i]);
            }else{
                right.push(arr[i]);
            }
        }
        return quickOrder(left).concat(first,quickOrder(right));
    }
    console.log(quickOrder(arr));
    
    console.timeEnd("快速排序:");//中间的字符串名称要一模一样
    

    相关文章

      网友评论

          本文标题:快速排序

          本文链接:https://www.haomeiwen.com/subject/kggzuqtx.html