Advertisement
nikbel

merge_sort

Mar 18th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. with open('sort.txt') as f:
  2.     for lines in f:
  3.         lines = [int(x) for x in lines.split(',')]
  4. arr = lines
  5. def merge(array_left, array_right):
  6.     line = []
  7.     i = 0
  8.     j = 0
  9.     temp = 0
  10.    
  11.     while i < len(array_left) and j < len(array_right):
  12.         if  array_left[i] <= array_right[j]:
  13.             line += [array_left[i]]
  14.             i += 1
  15.             temp += 1
  16.         else:
  17.             line += [array_right[j]]
  18.             j += 1
  19.             temp += 1
  20.     line += array_left[i:]
  21.     line += array_right[j:]
  22.     return line
  23.  
  24. def mergesorts(arr):
  25.     if len(arr) < 2:
  26.         return arr
  27.     mid = int(len(arr)/2)
  28.     array_left = mergesorts(arr[:mid])
  29.     array_right = mergesorts(arr[mid:])
  30.     return merge(array_left, array_right)
  31.  
  32. print(mergesorts(arr))
  33. input()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement