AcWing 785. 快速排序
原题链接
简单
作者:
ggwcr
,
2021-05-07 00:09:13
,
所有人可见
,
阅读 3
快排python3模板
def main():
length = int(input())
nums = [int(x) for x in input().split()]
quicksort(nums, 0, length - 1)
for i in nums:
print(i, end = ' ')
def quicksort(nums, start, end):
if start >= end :
return
left, right = start-1, end+1
pivot = nums[(start + end) // 2]
while left < right:
while True:
left += 1
if nums[left] >= pivot:
break
while True:
right -= 1
if nums[right] <= pivot:
break
if left <= right:
nums[left], nums[right] = nums[right], nums[left]
quicksort(nums, start, right)
quicksort(nums, right+1, end)
main()