Skip to content

Commit 8902125

Browse files
committed
Added python merge-sort
1 parent 51bd085 commit 8902125

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

MergeSort/Python/merge_sort.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
def mergeSort(alist):
2+
print("Splitting ",alist)
3+
if len(alist)>1:
4+
mid = len(alist)//2
5+
lefthalf = alist[:mid]
6+
righthalf = alist[mid:]
7+
8+
mergeSort(lefthalf)
9+
mergeSort(righthalf)
10+
11+
i=0
12+
j=0
13+
k=0
14+
while i < len(lefthalf) and j < len(righthalf):
15+
if lefthalf[i] < righthalf[j]:
16+
alist[k]=lefthalf[i]
17+
i=i+1
18+
else:
19+
alist[k]=righthalf[j]
20+
j=j+1
21+
k=k+1
22+
23+
while i < len(lefthalf):
24+
alist[k]=lefthalf[i]
25+
i=i+1
26+
k=k+1
27+
28+
while j < len(righthalf):
29+
alist[k]=righthalf[j]
30+
j=j+1
31+
k=k+1
32+
print("Merging ",alist)
33+
34+
alist = [54,26,93,17,77,31,44,55,20]
35+
mergeSort(alist)
36+
print(alist)

0 commit comments

Comments
 (0)