Skip to content

Commit 80effce

Browse files
Merge pull request #332 from Nivedithapm06/main
hacktoberfest-2022
2 parents b4674f9 + c61fea2 commit 80effce

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

mergesort.java

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
public class MergeSort {
2+
3+
public static void main(String[] args) {
4+
5+
int[] arr = { 70, 50, 30, 10, 20, 40, 60 };
6+
7+
int[] merged = mergeSort(arr, 0, arr.length - 1);
8+
9+
for (int val : merged) {
10+
System.out.print(val + " ");
11+
}
12+
13+
}
14+
15+
public static int[] mergeTwoSortedArrays(int[] one, int[] two) {
16+
17+
int[] sorted = new int[one.length + two.length];
18+
19+
int i = 0;
20+
int j = 0;
21+
int k = 0;
22+
23+
while (i < one.length && j < two.length) {
24+
25+
if (one[i] < two[j]) {
26+
sorted[k] = one[i];
27+
k++;
28+
i++;
29+
} else {
30+
sorted[k] = two[j];
31+
k++;
32+
j++;
33+
}
34+
}
35+
36+
if (i == one.length) {
37+
38+
while (j < two.length) {
39+
sorted[k] = two[j];
40+
k++;
41+
j++;
42+
}
43+
}
44+
45+
if (j == two.length) {
46+
47+
while (i < one.length) {
48+
sorted[k] = one[i];
49+
k++;
50+
i++;
51+
}
52+
}
53+
54+
return sorted;
55+
56+
}
57+
58+
public static int[] mergeSort(int[] arr, int lo, int hi) {
59+
60+
if (lo == hi) {
61+
int[] br = new int[1];
62+
br[0] = arr[lo];
63+
64+
return br;
65+
}
66+
67+
int mid = (lo + hi) / 2;
68+
69+
int[] fh = mergeSort(arr, lo, mid);
70+
int[] sh = mergeSort(arr, mid + 1, hi);
71+
72+
int[] merged = mergeTwoSortedArrays(fh, sh);
73+
74+
return merged;
75+
}
76+
77+
}

0 commit comments

Comments
 (0)