def qsort(arr, start, end): if start > end: return def partition(arr, start, end): pivot = arr[start] i = start+1 while i <= end: if pivot < arr[i]: arr[i], arr[end] = arr[end], arr[i] end -= 1 else: i += 1 if end > start: arr[start], arr[end]…
快排,取一个key值,一般取第一个即可,将小于key的放到左边,大于key的放到右边,递归实现 import random def quicksort(data, low = 0, high = None): if high == None: high = len(data) - 1 if low < high: s, i, j = data[low], low, high while i < j: while i < j and data[j] >= s: j = j - 1 i…