def quicksort(lst):
if len(lst) < 2:
return lst
else:
base_number = lst[random.randint(0, len(lst)-1)] # base_number随机生成即可以实现O(n log n)
left_nums = []
right_nums = []
for num in lst[1:]:
if num <= base_number:
left_nums.append(num)
else:
right_nums.append(num)
return quicksort(left_nums) + [base_number] + quicksort(right_nums)
array = [random.randint(1, 1000) for _ in range(1000)]
# print(array)
print(quicksort(array))
python 利用递归实现快速排序
于 2024-02-13 17:05:58 首次发布