【发布时间】:2022-11-13 04:39:06
【问题描述】:
我对 python 完全陌生,我正在尝试在其中实现快速排序。 有人可以帮我完成我的代码吗?
我不知道如何连接三个数组并打印它们。
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)
【问题讨论】:
-
要组合列表,您可以使用加号运算符
my_list = list1 + list2 + ...。或者将列表解压到新列表my_list = [*list1, *list2] -
Quicksort 是一种就地算法,您编写的代码根本不是。不算append操作不一定在常数时间内执行。
标签: python algorithm sorting quicksort