• Где ошибка реализации алгоритма QuickSort?

    @wite27
    Проверьте еще раз условия циклов:
    1.
    while arr[left] <= pivot:
                left = left + 1

    Что будет с переменной left, если массив состоит из одних и тех же чисел? Например, попробуйте вызвать print(quickSort([1, 1, 1, 1], 0, 3))
    2. Функция swap работает не совсем так, как вы ожидаете: в неё передаются числа, которые внутри функции становятся локальными переменными, соответственно, присваивания, которые в ней происходят, отражаются только на этих локальных перменных, но не исходном массиве. Попробуйте 1) "заинлайнить" функцию в место вызова (заменить место вызова на тело функции), или 2) перепишите функцию так, чтобы она принимала на вход массив arr, и два индекса, и производила обмен над массивом (подробнее про это можно почитать https://docs.python.org/3/faq/programming.html#how... , https://stackoverflow.com/questions/986006/how-do-... )
    Ответ написан