i have simple Array
int[] arr = {-1,-3,-5,12,9,0};
Qs(arr,0,arr.length-1);
private static void Qs(int[] arr,int L,int R) {
if(L>=R) {
return;
}
int pivot = partition(arr,L,R);
Qs(arr,L,pivot-1);
Qs(arr,pivot+1,R);
}
private static int partition(int[] arr,int L,int R) {
int pivot = arr[R];
int i = L-1;
for(int j=0; j <R-1 ; j++) {
if(arr[j] < pivot) {
++i;
//swap
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
return i+1;
}
and i keep getting :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at QuickSort.partition(QuickSort.java:19)
which is this in function partition:
int tmp = arr[i];