Python实现快速,冒泡和归并排序
def qsort(L):
if len(L)<=1: return L
return qsort([x for x in L[1:] if x<L[0]])+L[0:1]+qsort([x for x in L[1:] if x>=L[0]])
def bubblesort(L):
for i in xrange(0,len(L)):
for j in xrange(len(L)-1,i,-1):
if L[j]<L[j-1]:
L[j-1],L[j]=L[j],L[j-1]
return L
def mergesort(L):
if len(L)<=1: return L
left=mergesort(L[0:len(L)/2])
right=mergesort(L[len(L)/2:len(L)])
result=[]
while len(left)>0 or len(right)>0:
if len(right)<=0 or (len(left)>0 and left[0]<=right[0]):
result.append(left.pop(0))
else:
result.append(right.pop(0))
return result