快速排序加选择排序

def fastSort1(x,s,e):
    i=-1
flog=x[e]
for j in range(s,e-1):
    if x[i]>flog:
    x[i+1],x[j]=x[j],x[i+1]
    i+=1
x[i+1],x[e]=x[e],x[i+1]
return i+1
 
def fastSort2(x,s,e):
    if s>=e:
    return
    m=fastSort1(x,s,e)
    fastSort2(x,s,m-1)
    fastSort2(x,m+1,e)
 
 
 #选择排序
def chooseSort(listx):
    n=len(listx)
    for i in range(n):
        position=i
        for j in range(i,n):
            if x[position]>x[j]:
                position=j
        x[position],x[i]=x[i],x[position]
    print x
 
if __name__=="__main__":
    x=[1,5,2,3,2,6,3,4]
    fastSort2(x,0,len(x)-1)
    chooseSort(x)
posted @ 2019-07-14 21:34  张特别  阅读(212)  评论(0编辑  收藏  举报