作者在 2021-02-17 17:41:17 发布以下内容
# coding=utf-8
def partition(arr, low, high):
i = (low - 1)
pivot = arr[high]
for j in range(low, high):
if arr[j] <= pivot:
i = i + 1
arr[i], arr[j] = arr[j], arr[i]
arr[i + 1], arr[high] = arr[high], arr[i + 1]
return i + 1
def recursion(arr, low, high):
if low < high:
pi = partition(arr, low, high)
recursion(arr, low, pi - 1)
recursion(arr, pi + 1, high)
def quicksort(arr, start=0, end=0):
if end != 0:
recursion(arr, start, end)
else:
recursion(arr, start, len(arr) - 1)