arikSarkar

MergeSort

Sep 23rd, 2017
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. # MERGING TWO INTO ONE
  2.  
  3. def merge(a,b):
  4.     """ Function to merge two arrays """
  5.     c = []
  6.     while len(a) != 0 and len(b) != 0:
  7.         if a[0] < b[0]:
  8.             c.append(a[0])
  9.             a.remove(a[0])
  10.         else:
  11.             c.append(b[0])
  12.             b.remove(b[0])
  13.     if len(a) == 0:
  14.         c += b
  15.     else:
  16.         c += a
  17.     return c
  18.  
  19. # MERGE SORT
  20.  
  21. def mergesort(x):
  22.     """ Function to sort an array using merge sort algorithm """
  23.     if len(x) == 0 or len(x) == 1:
  24.         return x
  25.     else:
  26.         middle = int(len(x)/2)
  27.         a = mergesort(x[:middle])
  28.         b = mergesort(x[middle:])
  29.         return merge(a,b)
  30.  
  31. print("Enter array elements (e.g, [1 2 3 4 5 6]):\n")
  32. arr = list(map(int, input().split(' ')))
  33. arr = mergesort(arr)
  34. print(arr)
Add Comment
Please, Sign In to add comment