需要补充点基础理论姿势了。
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)

本文介绍了一种经典的排序算法——归并排序,并通过Python代码详细展示了其递归实现过程。归并排序是一种稳定的排序算法,利用分治思想将数组分为两部分进行排序后再合并。
5120

被折叠的 条评论
为什么被折叠?



