快速排序算法
L = [0,50,10,90,30,70,40,80,60,20]
def msort(L,low,high):
if low<high:
partkey = part(L,low,high)
msort(L,low,partkey-1)
msort(L,partkey+1,high)
def part(L,low,high):
mid = int(low+(high-low)/2)
if L[low]>L[high]:
L[low],L[high]=L[high],L[low]
if L[mid]>L[high]:
L[mid],L[high]=L[high],L[mid]
if L[low]>L[mid]:
L[low],L[mid]=L[mid],L[low]
a = low
L[0] = L[low]
while low<high:
if L[high]>L[0]:
high-=1
L[low]=L[high]
if L[low]<L[0]:
low+=1
L[high]=L[low]
L[low]=L[0]
return low
msort(L,1,9)