归并排序的python实现-创新互联

import math

def sort(arr):
    num_count = len(arr)
    n = 0
   while True:
        temp_arr = []
        group_size = 2 ** n

        for i in range(math.ceil(num_count/group_size/2)):
            left = arr[group_size*(2*i):group_size*(2*i+1)]
            right = arr[group_size*(2*i+1):group_size*(2*i+2)]
           while left and right:
                if left[0] > right[0]:
                    temp_arr.append(left.pop(0))
                else:
                    temp_arr.append(right.pop(0))
            temp_arr.extend(left)
            temp_arr.extend(right)
        arr = temp_arr
        if group_size >= num_count:
            break
        n += 1
    return arr

la = [5, 2, 7, 8, 6, 1, 4, 9, 10, 1, 2, 3, 4]
print(sort(la))

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

站在用户的角度思考问题,与客户深入沟通,找到南京网站设计与南京网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网络空间、企业邮箱。业务覆盖南京地区。
文章题目:归并排序的python实现-创新互联
标题URL:http://ybzwz.com/article/dphgoe.html