File tree Expand file tree Collapse file tree 1 file changed +111
-0
lines changed Expand file tree Collapse file tree 1 file changed +111
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .util .*;
2
+ import java .lang .*;
3
+
4
+
5
+ class MergeSort
6
+ {
7
+
8
+ public void sort (int a [], int low , int high )
9
+ {
10
+ if (low <high )
11
+ {
12
+ int mid =(low +high )/2 ;
13
+ sort (a ,low ,mid );
14
+ sort (a ,mid +1 ,high );
15
+ merge (a ,low ,mid ,high );
16
+ }
17
+ }
18
+
19
+ public void merge (int a [], int low , int mid , int high )
20
+ {
21
+ int h =low , i =low , j =mid +1 ,k ;
22
+ int b []=new int [high +1 ];
23
+
24
+ while ((h <=mid ) && (j <=high ))
25
+ {
26
+ if (a [h ]<a [j ])
27
+ {
28
+ b [i ]=a [h ];
29
+ h =h +1 ;
30
+ }
31
+ else
32
+ {
33
+ b [i ]=a [j ];
34
+ j =j +1 ;
35
+ }
36
+ i =i +1 ;
37
+ }
38
+
39
+
40
+ if (h >mid )
41
+ {
42
+ for (k =j ;k <=high ;k ++)
43
+ {
44
+ b [i ]=a [k ];
45
+ i =i +1 ;
46
+ }
47
+ }
48
+
49
+
50
+ if (j >high )
51
+ {
52
+ for (k =h ;k <=mid ;k ++)
53
+ {
54
+ b [i ]=a [k ];
55
+ i =i +1 ;
56
+ }
57
+ }
58
+
59
+ for (k =low ;k <=high ;k ++)
60
+ {
61
+ a [k ]=b [k ];
62
+ }
63
+ }
64
+
65
+ static void printArray (int a [], int n )
66
+ {
67
+
68
+ for (int i =0 ;i <n ;i ++)
69
+ {
70
+ System .out .print ( a [i ]+ "\t " );
71
+ }
72
+ }
73
+
74
+ public static void main (String args [])
75
+ {
76
+ try {
77
+ int low ,high ,mid ;
78
+ int n ,i ;
79
+
80
+ Scanner scan = new Scanner (System .in );
81
+
82
+ System .out .println ("How many elements do you want in the array?" );
83
+ n =scan .nextInt ();
84
+ int a []= new int [n ];
85
+ System .out .println ("Enter the array elements one by one" );
86
+ for (i =0 ;i <n ;i ++)
87
+ {
88
+ a [i ]=scan .nextInt ();
89
+ }
90
+
91
+ System .out .println ("Array before sorting is:" );
92
+ printArray (a , n );
93
+ low =0 ;
94
+ high =n -1 ;
95
+
96
+ MergeSort obj = new MergeSort ();
97
+ obj .sort (a , low , high );
98
+ System .out .println ();
99
+
100
+ System .out .println ("The sorted array is: " );
101
+ printArray (a , n );
102
+
103
+ }catch (Exception e ){e .printStackTrace ();}
104
+
105
+ }
106
+ }
107
+
108
+
109
+
110
+
111
+
You can’t perform that action at this time.
0 commit comments