Skip to content
This repository was archived by the owner on Oct 27, 2024. It is now read-only.

Commit fe42706

Browse files
authored
Merge pull request #146 from jenyyy4/anuska
added MergeSort.py
2 parents 59c7dbf + 2b8a758 commit fe42706

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

Python/MergeSort.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
def merge(arr, l, m, r):
2+
n1 = m - l + 1
3+
n2 = r - m
4+
5+
L = [0] * (n1)
6+
R = [0] * (n2)
7+
8+
for i in range(0, n1):
9+
L[i] = arr[l + i]
10+
11+
for j in range(0, n2):
12+
R[j] = arr[m + 1 + j]
13+
14+
i = j = 0
15+
k = l
16+
17+
while i < n1 and j < n2:
18+
if L[i] <= R[j]:
19+
arr[k] = L[i]
20+
i += 1
21+
else:
22+
arr[k] = R[j]
23+
j += 1
24+
k += 1
25+
26+
while i < n1:
27+
arr[k] = L[i]
28+
i += 1
29+
k += 1
30+
31+
while j < n2:
32+
arr[k] = R[j]
33+
j += 1
34+
k += 1
35+
36+
def mergeSort(arr, l, r):
37+
if l < r:
38+
m = l+(r-l)//2
39+
40+
mergeSort(arr, l, m)
41+
mergeSort(arr, m+1, r)
42+
merge(arr, l, m, r)
43+
44+
45+
arr = [12, 11, 13, 5, 6, 7]
46+
n = len(arr)
47+
print("Given array is")
48+
for i in range(n):
49+
print("%d" % arr[i],end=" ")
50+
51+
mergeSort(arr, 0, n-1)
52+
print("\n\nSorted array is")
53+
for i in range(n):
54+
print("%d" % arr[i],end=" ")

0 commit comments

Comments
 (0)