quickSort(array, 0, array.length - 1);
private static void quickSort(int[] array, int start, int end) {
if(start>=end) return; //递归结束条件。必不可少!
int l=start-1,r=end+1; //放两端!!!
int x=array[(l+r)>>1];
while(l<r){ //没有等号!!!
do{l++;}while(array[l]<x);
do{r--;}while(array[r]>x);
if(l<r){
int t = array[l];
array[l] = array[r];
array[r] = t;
}
}
quickSort1(array,start,l);
quickSort1(array,l+1,end);
}
【算法通关村】快速排序模板
最新推荐文章于 2024-10-09 23:44:37 发布