让前端飞

基本排序算法---快速排序

2017-08-04  本文已影响0人  Miss_Fairy

快速排序主要分为三步:
1.找一个基准,用来与数组中的每一项进行比较。
2.定义两个数组,一个存放比基准小的元素,一个存放比基准大的元素。
3.利用递归,知道原数组中只剩下一项。

function insertSort(arr){
       //如果arr最后剩下一项则返回arr
      if (arr.length <= 1) {
              return arr;
      }
      //取出数组的第一项作为标准
      var standard  = arr.splice(0,1)[0];
      var left = [],right = [];
      //循环数组中的每一项,分别放于left,right中。
      for(var i = 0; i < arr.length; i++){
            if (arr[i] < standard) {
                  left.push(arr[i]);
             } else {
                  right.push(arr[i]);
             }
      }
      //递归重复操作
      return insertSort(left).concat([standard],insertSort(right));
}
上一篇 下一篇

猜你喜欢

热点阅读