Big O notation for quicksort implementation
Doesn't work

Your sort doesn't work on this array:

int[] input = { 4, 5, 3, 2, 6, 1};


The output is:

Before sorting : [4, 5, 3, 2, 6, 1]
After sorting : [1, 2, 3, 5, 4, 6]


What's wrong?

One problem with your quicksort is that it doesn't always rearrange items to the left and right of the pivot.  If you pick the pivot that is the smallest element in the array, no swaps will be made.  Thus, you should either pick the leftmost item to be the pivot so that "no swaps" will just work, or swap the pivot item into the correct spot after your loop is finished.

Another problem with it is that you have a hardcoded 0 which is wrong:

rechelperquickSort(array,0,left,array[left/2]);


That 0 there should be the original value of left passed into the array.  Otherwise you are creating more work.