归并排序python实现代码
归并排序python实现代码,代码用到了递归
""" 作者:皮蛋编程(https://www.pidancode.com) 创建日期:2022/3/21 功能描述:归并排序python实现代码 """ def mergesort(arr): if len(arr) == 1: return arr m = int(len(arr) / 2) l = mergesort(arr[:m]) r = mergesort(arr[m:]) if not len(l) or not len(r): return l or r result = [] i = j = 0 while len(result) < len(r) + len(l): if l[i] < r[j]: result.append(l[i]) i += 1 else: result.append(r[j]) j += 1 if i == len(l) or j == len(r): result.extend(l[i:] or r[j:]) break return result print(mergesort([12, 33, 45, 65, 43, 32, 12, 9, 987, 54, 97, 568]))
输出结果:
[9, 12, 12, 32, 33, 43, 45, 54, 65, 97, 568, 987]
以上代码在python3.9环境测试通过
相关文章