Skip to content

Instantly share code, notes, and snippets.

@wilcoln
Created March 10, 2018 19:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wilcoln/48ed7e49878456731a1bfd8daf5ed915 to your computer and use it in GitHub Desktop.
Save wilcoln/48ed7e49878456731a1bfd8daf5ed915 to your computer and use it in GitHub Desktop.
python merge sort code
def merge(array, p, q, r):
sub1 = array[p:q+1]
sub2 = array[q+1:r+1]
k, i, j = p, 0, 0
for k in range(p,r+1):
if(i > len(sub1) - 1):
array[k] = sub2[j]
j+=1
elif(j > len(sub2) - 1):
array[k] = sub1[i]
i+=1
elif(sub1[i] > sub2[j]):
array[k] = sub2[j]
j+=1
else:
array[k] = sub1[i]
i+=1
def mergeSort(array, p, r):
if(r > p):
q = (p + r)//2
mergeSort(array, p, q)
mergeSort(array, q + 1, r)
merge(array, p, q, r)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment