您的位置:首页 > 编程语言 > Python开发

算法导论快速排序python实现

2015-03-10 23:04 567 查看
#-*-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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: