我对python完全不熟悉,我正在尝试在其中实现quicksort。 有人能帮我完成密码吗?
我不知道如何连接这三个数组并打印它们。
def sort(array=[12,4,5,6,7,3,1,15]):
less = []
equal = []
greater = []
if len(array) > 1:
pivot = array[0]
for x in array:
if x < pivot:
less.append(x)
if x == pivot:
equal.append(x)
if x > pivot:
greater.append(x)
sort(less)
sort(pivot)
sort(greater)
无需额外内存的快速排序(就地)
用法:
还有一个简洁而美丽的版本
让我详细解释一下上面的代码
选取数组
arr[0]
的第一个元素作为轴[arr[0]]
qsort
数组中小于轴的元素qsort([x for x in arr[1:] if x < arr[0]])
qsort
数组中那些大于枢轴的元素qsort([x for x in arr[1:] if x >= arr[0]])
相关问题 更多 >
编程相关推荐