快速排序
快速排序是一种递归调用的方法,思想是根据一个基准值,将数组比基准值小的放在左边,比基准值大的放在右边。运用了分而治之的思想,最后将三部份合并即可得到最终的有序数组
代码实现:
def quickSort(arr):
if len(arr) < 2:
return arr
leftarr = []
rightarr = []
item = arr[0]
for i in range(1,len(arr)):
if arr[i] <= item:
leftarr.append(arr[i])
else:
rightarr.append(arr[i])
return quickSort(leftarr) + [item] + quickSort(rightarr)
代码验证:
list_test = [3,5,10,2,1,7,6,8]
print(quickSort(list_test))
list_test = [3,0,10,-1,1,7,6,100,20,31]
print(quickSort(list_test))