# 快速排序
def QuickSort(array, low, high):
if low < high:
pi = Partition(array, low, high)
# 迭代
QuickSort(array, low, pi - 1)
QuickSort(array, pi + 1, high)
return array
def Partition(array, low, high):
# 取第一个数为基准
pivot = array[low]
while low < high:
while low < high and array[high] >= pivot:
high -= 1
array[low] = array[high]
while low < high and array[low] <= pivot:
low += 1
array[high] = array[low]
array[low] = pivot
return low
if __name__ == '__main__':
array = [22, 34, 12, 5, 77, 56, 87, 90, 45, 13, 99]
QuickSort(array, 0, len(array)-1)
Python实现快速排序
最新推荐文章于 2025-04-15 20:33:58 发布