Path: blob/master/languages/python/algorithm_mergesort.py
1240 views
import random1import math23def merge(left,right):4result = []5while left and right:6if left[0] < right[0]:7result.append(left.pop(0))8else:9result.append(right.pop(0))10if left:11result.extend(left)12else:13result.extend(right)14return result1516def mergesort(m):17left = []18right = []19result = []2021if len(m) <=1:22return m23middle = len(m)/22425left = m[:middle]26right = m[middle:]2728left = mergesort(left)29right = mergesort(right)3031if left[-1] > right[0]:32result = merge(left, right)33else:34result = left + right35return result3637p = random.sample(list(range(10)),8)38print(p)39print(mergesort(p))404142