Advertisement
Guest User

Untitled

a guest
May 27th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | None | 0 0
  1. def mergeSort(alist):
  2.     print("Разделение",alist)
  3.     if len(alist)>1:
  4.         mid = len(alist)//2
  5.         lefthalf = alist[:mid]
  6.         righthalf = alist[mid:]
  7.         mergeSort(lefthalf)
  8.         mergeSort(righthalf)
  9.         i=0
  10.         j=0
  11.         k=0
  12.         while i<len(lefthalf) and j<len(righthalf):
  13.             if lefthalf[i]<righthalf[j]:
  14.                 alist[k]=lefthalf[i]
  15.                 i=i+1
  16.             else:
  17.                 alist[k]=righthalf[j]
  18.                 j=j+1
  19.             k=k+1
  20.         while i<len(lefthalf):
  21.             alist[k]=lefthalf[i]
  22.             i=i+1
  23.             k=k+1
  24.         while j<len(righthalf):
  25.             alist[k]=righthalf[j]
  26.             j=j+1
  27.             k=k+1
  28.     print("Слияние",alist)
  29. alist = [54,26,93,17,77,31,44,55,20]
  30. mergeSort(alist)
  31. print(alist)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement