Data Structures and Algorithms in Python
Miriam Antona
Software engineer













def merge_sort(my_list): if len(my_list) > 1:mid = len(my_list)//2 left_half = my_list[:mid] right_half = my_list[mid:]merge_sort(left_half) merge_sort(right_half)i = j = k = 0while i < len(left_half) and j < len(right_half):if left_half[i] < right_half[j]:my_list[k] = left_half[i]i += 1else:my_list[k] = right_half[j]j += 1k += 1
while i < len(left_half):my_list[k] = left_half[i] i += 1 k += 1while j < len(right_half): my_list[k] = right_half[j] j += 1 k += 1
my_list = [35,22,90,4,50,20,30,40,1]
merge_sort(my_list)
print(my_list)
[1, 4, 20, 22, 30, 35, 40, 50, 90]
Data Structures and Algorithms in Python