File tree Expand file tree Collapse file tree 1 file changed +96
-0
lines changed Expand file tree Collapse file tree 1 file changed +96
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .util .*;
2
+ public class merge {
3
+
4
+ void mergesort (int arr [], int l , int m , int r )
5
+
6
+ {
7
+ int n1 = m - l + 1 ;
8
+ int n2 = r - m ;
9
+ int L [] = new int [n1 ];
10
+ int R [] = new int [n2 ];
11
+
12
+ for (int i = 0 ; i < n1 ; ++i ) {
13
+ L [i ] = arr [l + i ];
14
+ }
15
+
16
+ for (int j = 0 ; j < n2 ; ++j ) {
17
+ R [j ] = arr [m + 1 + j ];
18
+ }
19
+ int i = 0 , j = 0 ;
20
+ int k = l ;
21
+
22
+ while (i < n1 && j < n2 ) {
23
+
24
+ if (L [i ] <= R [j ]) {
25
+ arr [k ] = L [i ];
26
+ i ++;
27
+ }
28
+ else {
29
+ arr [k ] = R [j ];
30
+ j ++;
31
+ }
32
+ k ++;
33
+
34
+ }
35
+ while (i < n1 ) {
36
+
37
+ arr [k ] = L [i ];
38
+ i ++;
39
+ k ++;
40
+ }
41
+ while (j < n2 ) {
42
+ arr [k ] = R [j ];
43
+ j ++;
44
+ k ++;
45
+ }
46
+
47
+ }
48
+ void sort (int arr [], int l , int r )
49
+
50
+ {
51
+ if (l < r ) {
52
+ int m = l + (r - l ) / 2 ;
53
+ sort (arr , l , m );
54
+ sort (arr , m + 1 , r );
55
+ mergesort (arr , l , m , r );
56
+ }
57
+
58
+ }
59
+
60
+ static void printArray (int arr [])
61
+
62
+ {
63
+
64
+ int n = arr .length ;
65
+ for (int i = 0 ; i < n ; ++i ) {
66
+ System .out .print (arr [i ] + " " );
67
+ }
68
+
69
+ System .out .println ();
70
+
71
+ }
72
+ public static void main (String args [])
73
+ {
74
+ int i , n , x , arr [];
75
+
76
+ Scanner s = new Scanner (System .in );
77
+ System .out .println ("Enter no. of elements in aray:" );
78
+ n = s .nextInt ();
79
+
80
+ arr = new int [n ];
81
+
82
+ System .out .println ("Enter " + n + " integers:" );
83
+
84
+ for (i = 0 ;i <n ; i ++)
85
+ arr [i ] = s .nextInt ();
86
+
87
+ merge ob = new merge ();
88
+ ob .sort (arr , 0 , arr .length - 1 );
89
+ System .out .println ("\n Sorted array is" );
90
+
91
+ printArray (arr );
92
+ }
93
+
94
+ }
95
+
96
+
You can’t perform that action at this time.
0 commit comments