File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change
1
+ public class mergeSort {
2
+ public static void merge (int [] array_1 , int low , int mid , int high ) {
3
+ int i = low ;
4
+ int j = mid + 1 ;
5
+ int k = 0 ;
6
+
7
+ int [] array_2 = new int [high - low + 1 ];
8
+
9
+ while (i <= mid && j <= high ) {
10
+ if (array_1 [i ] <= array_1 [j ]) {
11
+ array_2 [k ] = array_1 [i ];
12
+ k += 1 ; i += 1 ;
13
+ }
14
+ else {
15
+ array_2 [k ] = array_1 [j ];
16
+ k += 1 ; j += 1 ;
17
+ }
18
+ }
19
+
20
+ while (i <= mid ) {
21
+ array_2 [k ] = array_1 [i ];
22
+ k += 1 ; i += 1 ;
23
+ }
24
+
25
+ while (j <= high ) {
26
+ array_2 [k ] = array_1 [j ];
27
+ k += 1 ; j += 1 ;
28
+ }
29
+
30
+ for (i = low ; i <= high ; i += 1 ) {
31
+ array_1 [i ] = array_2 [i - low ];
32
+ }
33
+ }
34
+
35
+ public static void sort (int [] array , int low , int high ) {
36
+ if (low < high ) {
37
+ int mid = (low + high ) / 2 ;
38
+ sort (array , low , mid );
39
+ sort (array , mid + 1 , high );
40
+ merge (array , low , mid , high );
41
+ }
42
+ }
43
+ }
You can’t perform that action at this time.
0 commit comments