01. Example:
def mergeSorting(data, start, end): if end - start > 1: mid = (start + end)//2 mergeSorting(data, start, mid) mergeSorting(data, mid, end) mergeList(data, start, mid, end) def mergeList(data, start, mid, end): left = data[start:mid] right = data[mid:end] k = start i = 0 j = 0 while (start + i < mid and mid + j < end): if (left[i] <= right[j]): data[k] = left[i] i = i + 1 else: data[k] = right[j] j = j + 1 k = k + 1 if start + i < mid: while k < end: data[k] = left[i] i = i + 1 k = k + 1 else: while k < end: data[k] = right[j] j = j + 1 k = k + 1 list01 = input('Enter the list of numbers: ').split() list01 = [int(x) for x in list01] mergeSorting(list01, 0, len(list01)) print('nSorted list: ', end='') print(list01)
Output:
Enter the list of (Non-negative) numbers: 320 420 140 500 185 60 200 80 10 100
Sorted list: [10, 60, 80, 100, 140, 185, 200, 320, 420, 500]