下面是我的代码,用CMD运行的时候发现不输出结果。
但是如果去掉递归是可以正常输出结果的。真诚希望可以得到各位的帮助,非常感谢。下面是我写的代码:
var quickSort=function(arr){
var left=0;
var right=arr.length-1;
var leftPoint=left;
var rightPoint=right;
var temp=arr[left];
while(leftPoint!=rightPoint){
while(arr[rightPoint]>=temp&&leftPoint<rightPoint){
rightPoint--;
}
while(arr[leftPoint]<=temp&&leftPoint<rightPoint){
leftPoint++;
}
if(leftPoint<rightPoint){
var changeNumber=arr[leftPoint];
arr[leftPoint]=arr[rightPoint];
arr[rightPoint]=changeNumber;
}
}
arr[left]=arr[leftPoint];
arr[leftPoint]=temp;
quickSort(left,leftPoint-1);
quickSort(leftPoint+1,right);
return arr;
};
var numArr=[6,1,2,7,9,3,4,5,10,8];
console.log(quickSort(numArr));
慕工程0101907
相关分类