需要补充点基础理论姿势了。
def megraSort(sortArray1, sortArray2):
retList = []
i = j = 0
while i < len(sortArray1) and j < len(sortArray2):
if sortArray1[i] <= sortArray2[j]:
retList.append(sortArray1[i])
i += 1
else:
retList.append(sortArray2[j])
j += 1
while i < len(sortArray1):
retList.append(sortArray1[i])
i += 1
while j < len(sortArray2):
retList.append(sortArray2[j])
j += 1
return retList
def sort(sortArray1):
#如果是数组,继续划分
print sortArray1
length = len(sortArray1)
if length == 1:
return sortArray1
else:
sa1 = sort(sortArray1[0 : length / 2])
sa2 = sort(sortArray1[length / 2 : length])
print 'sort ' , sa1, sa2
return megraSort(sa1, sa2)