【JavaScript演算法】---快速排序法

來源:互聯網
上載者:User

標籤:ima   quicksort   放大   cat   快速排序法   等於   比較   技術   quick   

一、快速排序法概念

  我們將一個雜亂無章的數組進行一個快速排序,可以先從一個數組中取一個中間值,將一個數組一分為2,左邊的數組跟中間值進行比較,小的放在左邊,大的放在右邊。比較完畢後再次取中間值,再次比較一次類推 二、思路   1、取的中間值,以及中間值的下標   2、建立一個left空數組,存放小於中間值的資料   3、建立一個right空數組,存放大於中間值的資料   4、遞迴的終止條件,如果數組的長度等於1的時候就返回數組   5、迴圈將數組一分為二   6、遞迴

 

 三、代碼
function quicksort(arr){    if(arr.length<2){        return arr;    }    var midIndex = arr.length%2 == 0? arr.length/2 : (arr.length+1)/2;    var mid = arr[midIndex];    var left  = [];    var right = [];        for(var i=0;i<arr.length;i++){        if(i != midIndex && arr[i] <= mid){            left.push(arr[i]);        }        if(i != midIndex && arr[i] > mid){            right.push(arr[i])        }    }    return quicksort(left).concat(mid).concat(quicksort(right))}

 

【JavaScript演算法】---快速排序法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.