We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 12892f7 commit cee57e5Copy full SHA for cee57e5
Mergesort.py
@@ -0,0 +1,30 @@
1
+# revised Mergesort. updated 1/31/2017 based on feedback from users.
2
+
3
+import sys
4
5
+def merge_sort(A, first=0, last=len(A)-1):
6
+ if first < last:
7
+ middle = (first + last)//2
8
+ merge_sort(A, first, middle)
9
+ merge_sort(A, middle+1, last)
10
+ merge(A, first, middle, last)
11
12
+def merge(A, first, middle, last):
13
+ L = A[first:middle+1]
14
+ R = A[middle+1:last+1]
15
+ L.append(sys.maxsize)
16
+ R.append(sys.maxsize)
17
+ i = j = 0
18
19
+ for k in range (first, last+1):
20
+ if L[i] <= R[j]:
21
+ A[k] = L[i]
22
+ i += 1
23
+ else:
24
+ A[k] = R[j]
25
+ j += 1
26
27
+A = [5,9,1,2,4,8,6,3,7]
28
+print(A)
29
+merge_sort(A)
30
0 commit comments