Skip to content

Commit 85feeff

Browse files
authored
Merge pull request #111 from tyler-le/tle-merge-sort
merge sort implementation
2 parents 23bd9b7 + 5d4ad1d commit 85feeff

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

Diff for: merge_sort.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
def merge_sort(arr):
2+
if len(arr) <= 1:
3+
return arr
4+
5+
mid = len(arr) // 2
6+
left = arr[:mid]
7+
right = arr[mid:]
8+
9+
left = merge_sort(left)
10+
right = merge_sort(right)
11+
12+
return merge(left, right)
13+
14+
def merge(left, right):
15+
result = []
16+
i = 0
17+
j = 0
18+
while i < len(left) and j < len(right):
19+
if left[i] < right[j]:
20+
result.append(left[i])
21+
i += 1
22+
else:
23+
result.append(right[j])
24+
j += 1
25+
26+
result += left[i:]
27+
result += right[j:]
28+
return result
29+
30+
# Example Usage
31+
arr = [3, 6, 1, 9, 2, 8, 5, 7, 4]
32+
sorted_arr = merge_sort(arr)
33+
print("Original Array: ", arr)
34+
print("Sorted Array: ", sorted_arr)

0 commit comments

Comments
 (0)