到目前为止,我有这个,但当我试图打印结果,我只是得到一个随机列表,而不是有组织的列表,你知道我该如何解决它吗
import random
lista = [8,12,3,11,5,9,10,4,15,7]
def particionado(lista):
pivote = random.choice(lista)
menores = []
mayores = []
for i in range(1, len(lista)):
if lista[i] < pivote:
menores.append(lista[i])
else:
mayores.append(lista[i])
return quicksort(menores), pivote , quicksort(mayores)
def quicksort(lista):
if len(lista) < 2:
return lista
menores, pivote, mayores = particionado(lista)
return menores + [pivote] + mayores
# result
: quicksort(list)
: [7, 9, 9, 9, 9, 9, 9, 9, 9, 15]
您可以随机选择轴,但此处:
假设枢轴处于零位。我的建议是:
或者,您可以将轴交换到列表中的第一个位置,但我假设您不能修改输入,因为您有意不这样做
相关问题 更多 >
编程相关推荐