快速排序算法

将小于基准的元素,移到基准的左边,大于基准的元素,移到基准的右边,对基准左右两边的子集,重复进行操作,直到子集中只剩下一个元素为止。

        function quickSort(arr){
            if(arr.lengh <= 1) {return arr;}
            var index = Math.floor(arr.length/2);
            var pilot = arr.splice(index, 1)[0];
            var left = [];
            var right = [];
            for(var i=0; i < arr.length; i++){
                if(arr[i] < pilot){
                    left.push(arr[i])
                } else {
                    right.push(arr[i])
                }
            }
            return quickSort(left).concat([pilot], quickSort(right))
        }

http://www.ruanyifeng.com/blog/2011/04/quicksort_in_javascript.html

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