给你代码吧,平时敲的,你看下这个会不会好理解点,反正我刚开始是自己推了几次才明白的;
- public static int[] quick(int[] arr,int min,int max)
- {
- int min0=min;
- int max0=max;
- if(min<max)
- {
- int temp = arr[min];
- while(min<max)
- {
- while(min<max&&arr[max]>=temp)
- max--;
- arr[min] = arr[max];
- while(min<max&&arr[min]<=temp)
- min++;
- arr[max] = arr[min];
- }
- arr[min] = temp;
- quick(arr,min0,min-1);
- quick(arr,min+1,max0);
- }
- return arr;
- }
复制代码 |