Skip to content

Commit c348ec2

Browse files
committed
Sorting
1 parent cf72c29 commit c348ec2

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

sorting/MergeSort.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
def mergesort(A, left, right):
2+
if left < right:
3+
mid = (left + right) // 2
4+
mergesort(A, left, mid)
5+
mergesort(A, mid+1, right)
6+
merge(A, left, mid, right)
7+
8+
def merge(A, left, mid, right):
9+
i = left
10+
j = mid+1
11+
k = left
12+
B = [0] * (right+1)
13+
while i <= mid and j <= right:
14+
if A[i] < A[j]:
15+
B[k] = A[i]
16+
i = i + 1
17+
else:
18+
B[k] = A[j]
19+
j = j + 1
20+
k = k + 1
21+
22+
while i <= mid:
23+
B[k] = A[i]
24+
i = i + 1
25+
k = k + 1
26+
27+
while j <= right:
28+
B[k] = A[j]
29+
j = j + 1
30+
k = k + 1
31+
for x in range(left,right+1):
32+
A[x] = B[x]
33+
34+
35+
A = [3, 5, 8, 9, 6, 2]
36+
print('Original Array:',A)
37+
mergesort(A,0,len(A)-1)
38+
print('Sorted Array:',A)

0 commit comments

Comments
 (0)