All pastes #783499 Raw Edit

epswing merge sort

public python v1 · immutable
·published 2007-11-19 06:43 UTC
rendered paste body
def merge_sort(alist):    if len(alist) <= 1:        return alist    else:        middle = len(alist)/2        left = merge_sort(alist[:middle])        right = merge_sort(alist[middle:])        return merge_lists(left, right)def merge_lists(left, right):    output = []    while len(left) > 0 and len(right) > 0:        if left[0] < right[0]:            output.append(left.pop(0))        else:            output.append(right.pop(0))    return output + left + right