欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

归并排序Python

时间:2023-08-16

def mergeSort(l,r)->None: global arr if l>=r:return new = [] mid = l+r>>1 mergeSort(l,mid) mergeSort(mid+1,r) i = l j = mid + 1 while i <= mid and j <= r: if arr[i]<=arr[j]: new.append(arr[i]) i+=1 else: new.append(arr[j]) j+=1 if i<=mid:new += arr[i:mid+1] if j<=r:new += arr[j:r+1] for i in range(r-l+1):arr[l+i] = new[i]n = int(input())arr = list(map(int,input().split()))mergeSort(0,n-1)for i in range(n):print(arr[i],end = ' ')

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。