public static int[] quickSort(int[] arr){
if(arr == null || arr.length == 0 || arr.length == 1){
return arr;
}
return doQuickSort(arr,0,arr.length-1);
}
public static int[] doQuickSort(int [] arr,int left ,int right){
if(left >right){
return arr;
}
int base = arr[left];
int i = left ,j = right;
while (i != j){
while (arr[j] >=base && i< j){
j--;
}
while (arr[i] <= base && i<j){
i++;
}
if(i<j){
int temp =arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
arr[left] =arr[i];
arr[i] = base;
doQuickSort(arr,left,i-1);
doQuickSort(arr,i+1,right);
return arr;
}