Skip to content

Commit f1df5ae

Browse files
Recursion Day 7 is completed
1 parent 27d7926 commit f1df5ae

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import java.util.Arrays;
2+
3+
public class MergeSort {
4+
private static int[] sort(int[] arr) {
5+
if(arr.length == 1)
6+
return arr;
7+
int mid = arr.length/2;
8+
int left[] = sort(Arrays.copyOfRange(arr, 0, mid));
9+
int right[] = sort(Arrays.copyOfRange(arr, mid, arr.length));
10+
11+
return merge(left,right);
12+
}
13+
14+
private static int[] merge(int[] left, int[] right) {
15+
int ans[] = new int[left.length+right.length];
16+
17+
int i =0,j=0,k=0;
18+
while(i<left.length && j<right.length) {
19+
if(left[i]<right[j]){
20+
ans[k]=left[i];
21+
i++;
22+
} else {
23+
ans[k] = right[j];
24+
j++;
25+
}
26+
k++;
27+
}
28+
29+
while(i<left.length) {
30+
ans[k] = left[i];
31+
i++;
32+
k++;
33+
}
34+
while(j<right.length) {
35+
ans[k] = right[j];
36+
j++;
37+
k++;
38+
}
39+
40+
return ans;
41+
}
42+
43+
44+
public static void main(String[] args) {
45+
int arr[] = {5,6,4,2,3,1,8};
46+
arr = sort(arr);
47+
System.out.println(Arrays.toString(arr));
48+
}
49+
50+
}

0 commit comments

Comments
 (0)