简单实现快速排序

一、快速排序思路

1.选定一个基准元素,将数组分割成两个子数组,其中一个子数组的值小于基准元素,

另外一个子数组值大于等于基准元素。

2.对子数组进行递归调用实现方法一

二、程序实现

function quick(arr) {
            if (arr.length <= 1) {
                return arr;
            }
            var left = [],
                right = [],
                temp = arr.splice(0, 1);  //基准元素需要在原数组中删除,并用temp保存
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] > temp) {
                    right.push(arr[i]);
                } else {
                    left.push(arr[i]);
                }
            }
            return quick(left).concat(temp, quick(right)); //递归调用
        }
posted @ 2022-04-20 20:31  花村店长  阅读(44)  评论(0)    收藏  举报