\begin{algorithm} \caption{Modified Tail Recursive Quicksort} \begin{algorithmic} \PROCEDURE{ModifiedTailRecursiveQuicksort}{$A, p, r$} \WHILE{$p < r$} \STATE $q =$ \CALL{Partition}{$A, p, r$} \IF{$q < \lfloor (p+r) / 2\rfloor$} \STATE \CALL{ModifiedTailRecursiveQuicksort}{$A, p, q-1$} \STATE $p = q + 1$ \ELSE \STATE \CALL{ModifiedTailRecursiveQuicksort}{$A, q+1, r$} \STATE $r = q - 1$ \ENDIF \ENDWHILE \ENDPROCEDURE \end{algorithmic} \end{algorithm}