Python数据结构与算法05——归并排序
归并排序:
def merge_sort(aimlist): #归并排序 拆分-排序-合并 也就是merge_返回的是是一个已经排好序的列表 n=len(aimlist) if n<=1: return aimlist mid=n//2 aimlist_left=merge_sort(aimlist[:mid]) aimlist_right=merge_sort(aimlist[mid:]) lp,rp=0,0 result=[] while lp<len(aimlist_left) and rp<len(aimlist_right): if aimlist_left[lp]<=aimlist_right[rp]: result.append(aimlist_left[lp]) lp+=1 else: result.append(aimlist_right[rp]) rp+=1 result.extend(aimlist_right[rp:]) result.extend(aimlist_left[lp:]) return result li=[23,56,34,12,67,90] print(merge_sort(li))

浙公网安备 33010602011771号