Понял. Он хочет не рассказ, а трассировку в стиле исполнителя: коротко, формально, без фраз типа «значит помещаем».
Ниже даю вариант, который нужно вставить в ЛР 9 вместо старого «ручного выполнения».
---
Ручное выполнение алгоритма быстрой сортировки для массива из 7 элементов
Исходный массив:
A = [7, 6, 5, 4, 3, 2, 1]
При ручном тестировании зафиксируем один из возможных результатов случайного выбора опорного элемента.
Вызов 1
sort\_Quick([7,6,5,4,3,2,1]),\quad q=4
7 \to bgA=[7]
5 \to bgA=[7,6,5]
3 \to ltA=[3]
1 \to ltA=[3,2,1]
Результат разбиения:
ltA=[3,2,1],\quad eqA=[4],\quad bgA=[7,6,5]
Следовательно,
sort\_Quick([7,6,5,4,3,2,1])
=
sort\_Quick([3,2,1]) + [4] + sort\_Quick([7,6,5])
---
Вызов 2
sort\_Quick([3,2,1]),\quad q=2
3 \to bgA=[3]
1 \to ltA=[1]
Результат разбиения:
ltA=[1],\quad eqA=[2],\quad bgA=[3]
sort\_Quick([3,2,1])
=
sort\_Quick([1]) + [2] + sort\_Quick([3])
Так как
sort\_Quick([1])=[1],\quad sort\_Quick([3])=[3]
то
sort\_Quick([3,2,1])=[1,2,3]
---
Вызов 3
sort\_Quick([7,6,5]),\quad q=6
7 \to bgA=[7]
5 \to ltA=[5]
Результат разбиения:
ltA=[5],\quad eqA=[6],\quad bgA=[7]
sort\_Quick([7,6,5])
=
sort\_Quick([5]) + [6] + sort\_Quick([7])
Так как
sort\_Quick([5])=[5],\quad sort\_Quick([7])=[7]
то
sort\_Quick([7,6,5])=[5,6,7]
---
Завершение
sort\_Quick([7,6,5,4,3,2,1])
=
[1,2,3] + [4] + [5,6,7]
=
[1,2,3,4,5,6,7]
---
Если хочешь, я могу сразу переписать это ещё в совсем “железном” формате, как таблицу из столбцов:
вызов | q | ltA | eqA | bgA | результат
— это обычно нравится таким преподавателям ещё больше.