快速排序 PYTHON
- 不那么好看的快排,参考 博客
def quick_sort(arr): if len(arr) <= 1: return arr else: base = arr[0] less = [v for v in arr[1:] if v<=base] more = [v for v in arr[1:] if v>base] return quick_sort(less) + [base] + quick_sort(more)
- 好看一点的快排,参考 博客
def quick_sort(arr,l,r): if l < r: q = partition(arr,l,r) quick_sort(arr,l,q-1) quick_sort(arr,q+1,r) def partion(arr,l,r): x = arr[r] i = l - 1 for j in (l,r): if arr[j] <= x: i += 1 arr[i], arr[j] = arr[j], arr[i] arr[i+1], arr[r] = arr[r], arr[i+1] return i+1
来源:https://www.cnblogs.com/curtisxiao/p/11184773.html