Python 排序算法:归并排序
Python 排序算法:归并排序原理
代码实现
def mergesort(nums: list) -> list:
m = len(nums) // 2 # 中点
l, r = nums[:m], nums
if len(l) > 1:
l = mergesort(l)
if len(r) > 1:
r = mergesort(r)
res = []
while l and r: # 如果 l 或 r 都不为空
res.append(l.pop() if l[-1] >= r[-1] else r.pop()) # 添加更大的元素
res.reverse() # 翻转
return (l or r) + res # 加上剩余的列表
页:
[1]