Реализация быстрой сортировки в Python со средним элементом в качестве оси - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь реализовать алгоритм быстрой сортировки в python, но я не могу получить желаемый результат, вместо этого он возвращает None.

# Author: Junth Basnet

def QuickSortFirst(array):
    QuickSort(array, 0, len(array) - 1)

def QuickSort(array, left, right):
    if left >= right:
        return array
    pivot = array[(left + right) // 2]
    index = Partition(array, left, right, pivot)
    QuickSort(array, left, index - 1)
    QuickSort(array, index, right)

def Partition(array, left, right, pivot):
    while left <= right:
        while array[left] < pivot:
            left += 1
        while array[right] > pivot:
            right -= 1
        if left <= right:
            array[left], array[right] = array[right], array[left]
            left += 1
            right -= 1
    return left

array = [1, 6, 4, 10, 7, 30, 25]
print(array)
sorted_array = QuickSortFirst(array)
print(sorted_array)

Ожидаемые результаты: [1, 4, 6, 7, 10, 25, 30]
Фактические результаты: Ни один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...