Быстрая сортировка: итеративная или рекурсивная

Я узнал о быстрой сортировке и о том, как ее можно реализовать как рекурсивным, так и итеративным методом.
В итерационном методе:

Push the range (0...n) into the stack Partition the given array with a pivot Pop the top element. Push the partitions (index range) onto a stack if the range has more than one element Do the above 3 steps, till the stack is empty

И рекурсивная версия является нормальной, определенной в вики.

Я узнал, что рекурсивные алгоритмы всегда медленнее, чем их итеративный аналог.
Итак, какой метод является предпочтительным с точки зрения сложности времени (память не имеет значения)?
Какой из них достаточно быстрый, чтобы использовать его в конкурсе по программированию?
C ++ STL sort () использует рекурсивный подход?

Ответы на вопрос(2)

Ваш ответ на вопрос