Python3 手写快手排序
快速排序的python手写实现
def fast_sort(a,x,y):
i,j=x,y
mid=a[x] #将首元素作为基准元素
index=x
flag=False
while(i<j):
if not flag:
while(j>i):
if a[j]<mid:
a[index]=a[j]
index=j
j-=1
flag=True
break
j-=1
else:
while(j>i):
if a[i]>mid:
a[index]=a[i]
index=i
i+=1
flag=False
break
i+=1
a[index]=mid
if index-x>1:
fast_sort(a,x,index-1)
if y-index>1:
fast_sort(a,index+1,y)
a=[4,2,1,3,0]
fast_sort(a,0,4) #调用方法