快速排序

排序算法有很多种,今天主要是介绍快速排序:

基本思路:

1、一个标准(standard): 用于数组的判断;

2、两个数组,分别存放比标准小的和比标准大的元素;

3、采用递归的方法不断的进行1、2操作;

4、最后采用数组的concat()方法进行合并。

代码展示: 

var quickSort = function (arr){

        if(arr.length <= 1){

               return arr;

         }

        //定义一个比较的基准

        var standard = arr.splice(0,1)[0];

         //定义两个数组分别存放比标准小的元素和比标准大的元素

        var left = [];

         var right = [];

         //循环进行数组中所有元素的判断

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

               if(standard <= arr[i]){

                         right.push(arr[i]);

               }else {

                        left.push(arr[i])

               }

         }

         //此处采用递归进行判断,最后再进行合并

         return quickSort(left).concat(standard,quickSort(right));

}

你可能感兴趣的:(快速排序)