归并排序2
def merge(array,low,mid,high): m,n = low,mid workplace = [] while m<=mid-1 and n<=high: if array[m]<array[n]: workplace.append(array[m]) m+=1 else: workplace.append(array[n]) n+=1 while m<=mid-1: workplace.append(array[m]) m+=1 while n<=high: workplace.append(array[n]) n+=1 for i,elem in enumerate(workplace): array[low+i] = elem print 'array is: ',array
局部排序
def reMerge(array,low,high): if low==high: return else: mid = (low+high)/2 reMerge(array,low,mid) reMerge(array,mid+1,high) merge(array,low,mid+1,high)

浙公网安备 33010602011771号