import java.util.Arrays;
public class quickSort {
public static void quickSort(int[] arr){
quickSort(arr,0,arr.length-1);
}
public static void quickSort(int[] arr,int low,int high){
if(low<high){
int pos = partition(arr,low,high);
quickSort(arr,low,pos-1);
quickSort(arr,pos+1,high);
}
}
public static int partition(int[] arr,int low,int high){
int base = arr[low];
while (low<high){
while (low<high&&arr[high]>=base){
high--;
}
arr[low] = arr[high];
while (low<high&&arr[low]<=base){
low++;
}
arr[high] = arr[low];
}
arr[low] = base;
return low;
}
public static void main(String[] args) {
int [] arr = {3,2,5,4,6,8,1,2,6,9,7};
System.out.println(Arrays.toString(arr));
quickSort(arr);
System.out.println(Arrays.toString(arr));
}
}