3-归并排序的实现-python
#归并排序的实现的前奏 def merge(l,low,high,mid): i = low j = mid+1 ret = [] while i<=mid and j<=high: if l[i] <l[j]: ret.append(l[i]) i+=1 else: ret.append(l[j]) j+=1 while i<=mid: ret.append(l[i]) i+=1 while j<=high: ret.append(l[j]) j+=1 l[low:high+1] = ret # def merge_sort(l,low,high): if low<high: mid = (low+high)//2 merge_sort(l,low,mid) merge_sort(l,mid+1,high) merge(l,low,high,mid) l = [2,4,5,7,1,3,6,8] merge_sort(l,0,7) print(l)
# 这里的归并排序算法的实现难点是递归
浙公网安备 33010602011771号