def quick_sort(arr, low, high):
"""
快速排序
:param arr: 待排序数组
:param low: 数组起始索引
:param high: 数据结束索引
:return: 排好序数组
"""
if low >= high:
return arr
mid_value = arr[low]
while low < high:
# 如果 low<high 并且 大游标的值 大于等于 中间值,那么符合要求。-1 游标往下走
# 如果 大游标的值 小于 中间值时,while不成立,此时大游标对应的值 附给 小游标的值
while low < high and arr[high] >= mid_value:
high -= 1
arr[low] = arr[high]
while low < high and arr[high] <= mid_value:
low += 1
arr[high] = arr[low]
# 循环退出时, low=high
arr[low] = mid_value
return arr