import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int[] arr = new int[]{-9, 89, 0, 6, 57};
quickSort(arr, 0, arr.length - 1);
System.out.println(Arrays.toString(arr));
}
public static void quickSort(int[] arr, int left, int right) {
int l = left;
int r = right;
int temp= 0;
int pivot = arr[(left + right) / 2];
while (l < r) {
while (arr[l] < pivot) {
l++;
}
while (arr[r] > pivot) {
r--;
}
if(l>=r){
break;
}
//交换两个数的值
temp = arr[l];
arr[l]=arr[r];
arr[r]=temp;
if(arr[l]==pivot){
r--;
}
if(arr[r]==pivot){
l++;
}
if(l==r){
l++;
r--;
}
if(left<r){
quickSort(arr,left,r);
}
if(right>l){
quickSort(arr,l,right);
}
}
}
}
10-01
701
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交