参考链接:https://www.runoob.com/python3/python-quicksort.html
这个动图可以形象地理解快速排序的工作原理:
关键是选择基准(pivot),然后分成小于基准的、大于基准的两部分,再对两部分分别选择基准,再进行排序。
核心思想:分治法
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
import random
a = []
for i in range(0,10):
a.append(random.randint(1,30))
print(quicksort(a))