标签:UNC cti alert fun quicksort splice lse 排序 ++
/*
快排算法描述
1.找基准点。
2.建立两个空数组。
3.arr中大于基准点放left,则反之。
4.left,基准点,right连接起来。
*/
function quicksort(arr) { //参数类型:数组;返回值,数组。 if (arr.length <= 1) { return arr; } var equally = Math.floor(arr.length / 2); //arr中间索引 var benchmark = arr.splice(equally,1); //arr中间值 var left = []; var right = []; for (var i = 0,len = arr.length; i < len; i++) { if (arr[i] < benchmark) { left.push(arr[i]); } else { right.push(arr[i]); } } return quicksort(left).concat([benchmark],quicksort(right)); //不断递归,最后都递归为一个数,然后拼接数组,返回排完序数组。 } alert(quicksort([21,81,12,85,31,97,18,2,87,75,3])); //output:2,3,12,18,21,31,75,81,85,87,97
标签:UNC cti alert fun quicksort splice lse 排序 ++
原文地址:https://www.cnblogs.com/Longhua-0/p/9292227.html