归并排序:
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))
标签:aimlist,归并,排序,05,Python,merge,数据结构 From: https://www.cnblogs.com/yyyjw/p/18031584