使用递归函数实现数组快速排序算法
基线条件是:数组为空或只包含一个元素;这种条件下只需要返回原来数组即可。
//python实现数组的快速排序
def quicksort(array):
if len(array)<2:
return array #基线条件:为空或者只包含一个元素的数组是有序的
else:
pivot = array[0] #递归条件
less = []
greater = []
for i in array[1:]:
if i<= pivot:
less.append(i) #所有小于基准值的元素组成的子数组
else:
greater.append(i) #所有大于基准值的元素组成的子数组
return quicksort(less)+[pivot]+quicksort(greater)
print(quicksort([10,3,5,2,17]))
#输出值
[2, 3, 5, 10, 17]