AcWing 785. 快速排序
原题链接
简单
作者:
Sei
,
2019-09-10 21:49:41
,
所有人可见
,
阅读 752
python 代码
n = int(raw_input())
nums = map(int, raw_input().split())
def quick(nums, n):
def partition(nums, l, r):
p = nums[l]
while l<r:
while l<r and p<=nums[r]:
r-=1
nums[l] = nums[r]
while l<r and p>=nums[l]:
l+=1
nums[r] = nums[l]
nums[l] = p
return l
def quickHelper(nums, l, r):
if l<r:
p = partition(nums, l, r)
quickHelper(nums, l, p)
quickHelper(nums, p+1, r)
quickHelper(nums, 0, n-1)
quick(nums, n)
print ' '.join(map(str, nums))