#-*-coding:UTF-8-*-
import sys
import random
#sys.setrecursionlimit(1000000)
def quicksort(A,p,r):
if p<r:
x= random.randint(p, r)
A[x],A[r]=A[r],A[x]
q=partition(A,p,r)
quicksort(A,p,q-1)
quicksort(A,q+1,r)
def partition(A,p,r):
x=A[r]
i=p-1
for j in range(p,r):
if A[j]<=x:
i+=1
A[j],A[i]=A[i],A[j]
A[i+1],A[r]=A[r],A[i+1]
return i+1
A=[10,9,8,7,6,5,4,3,2,1]
quicksort(A,0,9)
print A
算法导论快速排序python实现
最新推荐文章于 2022-07-18 11:35:10 发布