i implemented the Quick Sort Algorithm which given pseudo code in Introduction to Algorithms (Cormen, 3rd Edition) 7.1
When i tried algorithm with small sized arrays
Yes, this pivot scheme is not right choice for sorted array. It causes very unbalanced partition, leads to O(N^2) complexity and very deep recursion level, as you noticed.
There are some approaches to improve this behavior.
For example, you can use random index for pivot like pivotIdx = start + rand() % (end-start+1);
, or choose median-of-three method (median of the first, last and middle elements in index range).
P.S. An option to avoid stack overflow - call recursion for shorter segment at first, then for longer one.
https://en.wikipedia.org/wiki/Quicksort#Choice_of_pivot