#!/usr/bin/python
import random
def merge_sort(l):
if len(l) <= 1:
return l
# split
m = int(len(l)/2)
left = merge_sort(l[:m])
right = merge_sort(l[m:])
# merge
merge = []
while left and right:
if left[0] < right[0]:
merge.append(left.pop(0))
else:
merge.append(right.pop(0))
if left:
merge = merge + left
if right:
merge = merge + right
return merge
def get_list():
random.seed()
l = random.choices(range(10), k=10)
return l
def main():
l = get_list()
print(l)
l = merge_sort(l)
print(l)
if __name__ == '__main__':
main()