相比使用 Java 来实现,用 Python 真的要方便很多,目前看主要是数组的处理尤其方便,话不多说看代码。
def quickSort(arr):
if len(arr) < 2:
return arr ############################# 基线条件
else:
pivot = arr[0] ############################# 递归条件
less = [i for i in arr[1:] if i <= pivot]
greater = [i for i in arr[1:] if i > pivot]
return quickSort(less) + [pivot] + quickSort(greater)
print(quickSort([11,23,11,23,56,10,34]))
代码逻辑:
1、选择好基准值
2、将原数据分为大于基准值的数组和小于基准值的数据
3、继续对两个数据进行排序
基本的方式还是使用迭代。