编译 QuickSort 问题 [Python]

Problem with compilation QuickSort [Python]

我的快速排序的就地实施有点问题:

from random import randint
def particionado(lista, menor, mayor):
pivote = lista[mayor]
i = menor - 1

for j in range(menor, mayor):
    if lista[j] <= pivote:
        lista[i],lista[j] = lista[j],lista[i]
        i = i+1

lista[i+1],lista[mayor] = lista[mayor],lista[i+1]
return i+1

def quickSort(arreglo,menor,mayor):
if menor < mayor:
    piv = particionado(arreglo,menor,mayor)
    quickSort(arreglo, menor, piv-1)
    quickSort(arreglo,piv+1,mayor)


A = [randint(1, 100) for i in range(10)]
print(A)
print(quickSort(A,0,len(A)-1))

并且在我尝试编译时发生,它给出随机列表但不对其进行排序,而是抛出“None”。我不知道我能做些什么来解决它。

您的 quickSort 函数没有 return 语句,因此它 return 没有 return 任何内容(在 [= 中称为 None 18=]).但是,数组应该就地排序。

尝试:

A = [randint(1, 100) for i in range(10)]
print(A)
quickSort(A, 0, len(A) - 1)
print(A)