快速排序:摘除数组中的一项,以此为基准,将剩余的数组项和此项比较大小分成两部分(left和right),然后递归执行left和right,将left,基准和right合并,直到数组只有1项或者0项时,返回数组。
代码如下:
var arr=[4,2,7,5,6,0,8]; var quickSort=function(arr){ if(arr.length<=1) return arr; //着基准,第一个 var flag=arr.splice(0,1)[0]; var left=[],right=[]; for(var i=0;i<arr.length;i++){ if(arr[i]<flag) left.push(arr[i]) else right.push(arr[i]) } return quickSort(left).concat(flag,quickSort(right)); } console.log(quickSort(arr));