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


    //快速排序
    var arr=[10,66,3,64,2,98];

    function fn(arr){
         //取中间值
         var index=arr.length%2 == 0? arr.length/2:(arr.length+1)/2;
         var mid=arr[index];
        
         var left=[];
        
         var right=[];
        
         if(arr.length<2){
             return arr;
         }
        
         for(var i=0;i<arr.length;i++){
             if(index!=i&&arr[i]<mid){
                 left.push(arr[i]);
             }
             
         }
         for(var i=0;i<arr.length;i++){
             if(index!=i&&arr[i]>=mid){
                 right.push(arr[i]);
             }
             
         }
         return fn(left).concat(mid).concat(fn(right));
    }

    console.log(fn(arr));

  • 相关阅读:
    浅拷贝和深拷贝问题
    指针遍历数组时用法
    一维数组和指针
    leetcode
    tmux
    git
    einsum详解
    spark快速大数据分析 读书笔记
    maven配置
    bash 学习笔记
  • 原文地址:https://www.cnblogs.com/class1/p/10682357.html
Copyright © 2011-2022 走看看