def queking_sort(data,j,i):
k=i #记录要排序段的最小值,为后面循环准备
if (i>=j or j<0):
return
else:
temp=data[i]
while(i<j):
while(i<j and data[j]>=temp):
j-=1
if(i<j):
data[i]=data[j]
i+=1
while(i<j and data[i]<=temp):
i+=1
if(i<j):
data[j]=data[i]
j-=1
data[i]=temp
queking_sort(data,i-1,k)
queking_sort(data,len(data)-1,i+1)
data=[4,3,7,1,2,8,6,5]
i=0
j=len(data)-1
queking_sort(data,j,i)
print(data)
原文:https://www.cnblogs.com/chenminyu/p/11704478.html