0

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!

pointerless
  • 671
  • 10
  • 18

0 Answers0