`
``public class QuickSort{`
public static void quickSort(int left, int right, int[] arr){
// int flag = arr[left]; left在递归时有可能大于arr.length-1,此时使用arr[left]会越界
int i = left;
int j= right;
int temp = 0;
if(left>right){
return;
}
int flag = arr[left];
while(i<j){
while(arr[j]>=flag && i<j){
j--;
}
while(arr[i]<=flag && i<j){
i++;
}
if(i<j){
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
arr[left] = arr[i];
arr[i] = flag;
quickSort(left, i-1, arr);
quickSort(i+1, right, arr);
}
public static void main(String[] args){
int[] arr = {3,7,4,1,9,5,2,8,0);
quickSort(0, arr.length-1, arr);
for(int i: arr){
System.out.print(i + " ");
}
System.out.print("\n");
}
```