How to program to do merge sort in python.
- def merge(arr, l, m, r):n1 = m - l + 1n2 = r- mL = [0] * (n1)R = [0] * (n2)for i in range(0 , n1):L[i] = arr[l + i]for j in range(0 , n2):R[j] = arr[m + 1 + j]i = 0j = 0k = lwhile i < n1 and j < n2 :if L[i] <= R[j]:arr[k] = L[i]i += 1else:arr[k] = R[j]j += 1k += 1while i < n1:arr[k] = L[i]i += 1k += 1while j < n2:arr[k] = R[j]j += 1k += 1def mergeSort(arr,l,r):if l < r:m = (l+(r-1))/2mergeSort(arr, l, m)mergeSort(arr, m+1, r)merge(arr, l, m, r)arr=[]n=int(input("Enter the size of the array"))print("Enter the array")for x in range(n):x=int(input())arr.append(x)mergeSort(arr,0,n-1)print ("\n\nSorted array is")for i in range(n):print ("%d" %arr[i])
OutPut:-
0 Comments