I am trying to find out what would be the Big O notation of a quick sort implementation I wrote. If I can get some analysis on the code, that would be great.public class JavaApplication1 {public static void main(String args[]) {    int[] input = { 23, 31, 1, 21, 36, 72};    System.out.println(Before sorting :  + Arrays.toString(input));    quickSort(input); // sort the integer array using quick sort algorithm    System.out.println(After sorting :  + Arrays.toString(input));    // input with duplicates    int[] withDuplicates = { 11, 14, 16, 12, 11, 15};    System.out.println(Before sorting :  + Arrays.toString(withDuplicates));    quickSort(withDuplicates); // sort the integer array using quick sort algorithm    System.out.println(After sorting :  + Arrays.toString(withDuplicates));}/** * public method exposed to client, sorts given array using QuickSort * Algorithm in Java * @param array */public static void quickSort(int[] array) {   if(array.length <= 1) return;   int leftwall = 0;   int rightwall  = array.length - 1 ;   int pivot = array[array.length/2];    rechelperquickSort(array,leftwall,rightwall,pivot); }public static void rechelperquickSort(int[] array ,int left , int right , int pivot ){    int idx;       idx = left;    if(left>=right) return;    while(idx<=right){        if(pivot > array[idx])swapinarray(array,left++,idx);        idx++;    }    if(left >= right) return;    pivot = array[left+1];    rechelperquickSort(array,left+1,right,pivot);    rechelperquickSort(array,0,left,array[left/2]);}public static void swapinarray(int[] array,int leftelementidx, int rightelementidx){    int tmp = array[leftelementidx];    array[leftelementidx] = array[rightelementidx];    array[rightelementidx] = tmp;    }}
Big O notation for quicksort implementation
java;sorting;complexity;quick sort