先上代码吧,算法的描述以后有时间了在写
def quick_sort(l,r,args):
if(l<r):
i=l
j=r
base=args[l]
while(i<j):
while(args[j]>=base and (i<j)):
j=j-1
while(args[i]<=base and i<j):
i=i+1
if(i<j):
args[i],args[j] = args[j], args[i]
args[l], args[i] = args[i], args[l]
quick_sort(l,i-1,args)
quick_sort(i+1,r,args)
需要注意的点就是需要注意的是 :
大条件 l<r
每次移动哨兵,交换哨兵都要判断i<j