def merge_sort(array):
"""Sorts an array using the merge sort algorithm."""
if len(array) > 1:
mid = len(array) // 2
L = array[:mid]
M = array[mid:]
merge_sort(L)
merge_sort(M)
i = j = k = 0
while i < len(L) and j < len(M):
if L[i] < M[j]:
array[k] = L[i]
i += 1
else:
array[k] = M[j]
j += 1
k += 1
while i < len(L):
array[k] = L[i]
i += 1
k += 1
while j < len(M):
array[k] = M[j]
j += 1
k += 1
def print_list(array):
for i in range(len(array)):
print(array[i], end=" ")
print()
if __name__ == '__main__':
data = [6, 5, 12, 10, 9, 1]
print("Original array is: ")
print_list(data)
merge_sort(data)
print("Sorted array is: ")
print_list(data)
Comments
Post a Comment