I am an absolute beginner in programming and I tried to implement a QuickSort function follwing an YouTube video which only had a theioretical explanation and I tried to implement the same. However I get an java.lang.ArrayIndexOutOfBoundsException
. Here is my function:
static void sort(int left, int right){
int mid = right - ((right - left)/2);
boolean proceedleft = false;
boolean proceedright = false;
for (int i = left; i <= right; i++){
if(random[i] < random[mid] && i > mid){
int temp = random[i];
for(int s = i; s < mid; s++){
random[s] = random[s+1];
}
random[mid] = temp;
mid--;
proceedleft = true;
}
if(random[i] > random[mid] && i < mid){
int temp = random[i];
for(int s = i; s < mid; s--){
random[s] = random[s-1];
}
random[mid] = temp;
mid++;
proceedright = true;
}
}
if(proceedleft == true){
sort(left, mid - 1);
}
if(proceedright == true){
sort(mid + 1, right);
}
}
What mistake did I make? Thanks!