def mergeSort(items):
if len(items) < 2:
return items
a = items[:len(items) // 2]
b = items[len(items) // 2:]
return merge(mergeSort(a), mergeSort(b))
def merge(a, b):
result = []
i, j = 0, 0
while i < len(a) and j < len(b):
if a[i] < b[j]:
result.append(a[i])
i += 1
else:
result.append(b[j])
j += 1
while i < len(a):
result.append(a[i])
i += 1
while j < len(b):
result.append(b[j])
j += 1
return result
# test drive
print(mergeSort([4,2,5,1,3]))
To embed this project on your website, copy the following code and paste it into your website's HTML: