import java.util.Arrays;
import java.util.Random;
public class QuickSort {
public static void quickSort(int[] arr,int left,int right) {
if(left >= right) {
return;
}
swap(arr,right,left+(int)(Math.random()*(right-left+1)));
int[] p = partition(arr,left,right);
quickSort(arr,left,p[0]-1);
quickSort(arr,p[1]+1,right);
}
private static void swap(int[] arr,int a,int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
private static int[] partition(int[] arr,int L,int R) {
int left = L-1;
int right = R;
while(L