mergesort in python

def mergesort(List):
    """ input : List, an integer list
        output : an sorted integer list
    """
    n = len(List)
    if n == 0 or n==1:
        return List
    first = mergesort(List[:n/2])
    second =  mergesort(List[n/2:])
    i=0
    j=0
    output = []
    while True:
        if first[i]<second[j]:
            output.append(first[i])
            i += 1
        else:
            output.append(second[j])
            j += 1
        if i >= len(first):
            output += second[j:]
                
            break
        if j >= len(second):
            output += first[i:]
                
            break
        
    return output

全部评论

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务