快速排序方法,使用了D&C方法.
步骤如下
(1) 选择基准值。
(2) 将数组分成两个子数组:小于基准值的元素和大于基准值的元素。
(3) 对这两个子数组进行快速排序。
# 快速排序算法
def quickSort(array):
if len(array) < 2:
return array ##基线条件:为空或只包含一个元素的数组是“有序”的
else:
pivot = array[0]
less =[] #由所有小于基准值的元素组成的子数组
for i in array[1:]:
if i <= pivot:
less.append(i)
greater = [] #由所有大于基准值的元素组成的子数组
for i in array[1:]:
if i >= pivot:
greater.append(i)
return quickSort(less) + [pivot] + quickSort(greater) #将多个list合并为1个list