快速排序

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

基本思路:

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));

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容