Advertisement
Forceisthop

Untitled

Sep 22nd, 2022
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. def merge(arr, l, m, r):
  2. n1 = m - l + 1
  3. n2 = r - m
  4. L = [0] * (n1)
  5. R = [0] * (n2)
  6.  
  7. for i in range(0, n1):
  8. L[i] = arr[l + i]
  9.  
  10. for j in range(0, n2):
  11. R[j] = arr[m + 1 + j]
  12.  
  13. i = 0
  14. j = 0
  15. k = l
  16.  
  17. while i < n1 and j < n2:
  18. if L[i] <= R[j]:
  19. arr[k] = L[i]
  20. i += 1
  21. else:
  22. arr[k] = R[j]
  23. j += 1
  24. k += 1
  25.  
  26. while i < n1:
  27. arr[k] = L[i]
  28. i += 1
  29. k += 1
  30.  
  31. while j < n2:
  32. arr[k] = R[j]
  33. j += 1
  34. k += 1
  35. #@end-editable@
  36. display(arr)
  37. return 0
  38.  
  39.  
  40. def mergeSort(arr,l,r):
  41. #@start-editable@
  42. if l < r:
  43. m = l+(r-l)//2
  44. mergeSort(arr, l, m)
  45. mergeSort(arr, m+1, r)
  46. merge(arr, l, m, r)
  47. #@end-editable@
  48. return 0
  49.  
  50.  
  51. def display(A):
  52. for i in range(len(A)):
  53. print(A[i],end=" ")
  54. print("")
  55. return 0
  56.  
  57.  
  58. def main():
  59. arr=list(map(int, input().split()))
  60. display(arr)
  61. mergeSort(arr,0,len(arr)-1)
  62.  
  63. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement