给定你一个长度为 nn 的整数数列。
请你使用快速排序进行排序并输出。
输入样例:
5
3 1 2 4 5
输出
1 2 3 4 5
利用快排
第一次
2 1 3 4 5
第二次
1 2 3 4 5
def quick_sort(data,l,r):
if l>=r:
return #如果左边或者等于右边停止循环
i=l-1
j=r+1#初始化左右指标的位置
x=data[l+r>>1]取中点为指定位置
while i<j:
while 1:
i+=1
if data[i]>=x:#找打在右边大于中点的值
break
while 1:
j-=1
if data[j]<=x:
break
if i<j:
data[i],data[j]=data[j],data[i]
quick_sort(data,l,j)
quick_sort(data,j+1,r)
n=int(input())
data=[int(x) for x in input().split()]
quick_sort(data,0,n-1)
print(" ".join(map(str,data)))
print(res)