для аргумента k в функции main передается значение len(A) - длина массива
дальше я эту длину разбиваю на 2 - выбираю средний элемент
если я буду делать по вашему примеру (b+k)/2 - то это будет ДЛИНА МАССИВА + НИЖНЯЯ ГРАНИЦА МАССИВА. при таком варианте я точно вылезу за границы
кроме того, аргумент b я передаю в left и затем при поиске инкрементирую
for A[left] < p {
left++
}
и при рекурсии в аргумент b передаю left
if left > k {
quickSort(A, left, k)
}
именно эта рекурсия и создает рутину
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Я обязательно гляну, просто сейчас загружен работой