Advertisement
Vikis

recursive

Nov 16th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1. #!usr/bin/pyton3
  2. import random
  3. def  merge_sort(l):
  4.       """Recursive merge sort"""
  5.       if len(l) > 1:
  6.             mid = len(l) // 2
  7.             left = l[:mid]
  8.             right = l[mid:]
  9.  
  10. merge_sort(left)
  11. merge_sort (right)
  12. i =j = k = 0
  13. while i < len(left) and j < len(right):
  14.                   if left[i] < right[j]:
  15.                    l[k] = left[i]
  16.                   i += 1
  17. else:
  18.                   l[k] = rigt[j]
  19.                   j += 1
  20.                   k += 1
  21.                   if i < len(left):
  22.                         l[k: k + len(left[i:])] = left[i:]
  23.                   if j < len(right):
  24.                               l[k: k + len(right[j:])] = right[j:]
  25.  
  26. lst = random.sample(range(1,100),10)
  27. print("input list:{}".format(lst))
  28. merge_sort(lst)
  29.        
  30. print("Output list:{}".format(lst))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement