Википедия предлагает следующее определение :
В компьютерной науке алгоритм на месте (или на латыни in situ ) - это алгоритм, которыйпреобразовывает ввод, используя структуру данных с небольшим постоянным объемом дополнительного пространства для хранения.
По этому определению типичная быстрая сортировка на основе стека явно не является алгоритмом in situ .
На самом деле, статья в Википедии явно обсуждает это:
Алгоритм иногда неофициально вызывается на месте, если он перезаписывает свой ввод своим выводом.В действительности этого недостаточно (, как показывает случай быстрой сортировки) и не является необходимым;выходное пространство может быть постоянным или даже не может быть подсчитано, например, если вывод является потоком.
и
Быстрая сортировка обычно описывается как алгоритм на месте, но фактически не является таковым.Большинству реализаций требуется пространство O (log n) для поддержки рекурсии «разделяй и властвуй».
Однако, как указал @Jason в своем превосходном ответе, существуют варианты быстрой сортировки, для которых требуется только O(1) дополнительное пространство.Любые такие аорифмы будут считаться in situ .