1 function swap(arr,l,r){ 2 var temp=arr[l]; 3 arr[l]=arr[r]; 4 arr[r]=temp; 5 } 6 function partition(arr,camp,left,right){ 7 var index=left; 8 var p=arr[index]; 9 swap(arr,index,right);//交换key到最后一位10 for(var i=left;iright) return;31 var index=partition(arr,camp,left,right);32 quicksort(arr,camp,left,index-1);33 quicksort(arr,camp,index + 1, right);34 }35 var arr = [5, 3, 9, 4, 1, 7, 8, 6, 2];36 quicksort(arr,function(a,b){ return a < b;});37 console.log(arr);
其实这并不是最佳版,最佳版本的比较基准应该是随机数生成的,其实很简单
p=arr[Math.floor(Math.random()*(right-left+1)+left)];//如此即可