File tree 1 file changed +37
-0
lines changed
1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com .company ;
2
+
3
+ public class MergeSort {
4
+ void sort (int arr [],int beg ,int end ) {
5
+ if (beg < end ) {
6
+ int mid = (beg + end ) / 2 ;
7
+ sort (arr , beg , mid );
8
+ sort (arr , mid + 1 , end );
9
+ mergesort (arr , beg , mid , end );
10
+ }
11
+ }
12
+ void mergesort (int arr [],int beg ,int mid ,int end ){
13
+ int left =mid -beg +1 ;
14
+ int right =end -mid ;
15
+ int [] leftarray =new int [left ];
16
+ int [] rightarray =new int [right ];
17
+ for (int i =0 ;i <left ;i ++){
18
+ leftarray [i ]=arr [beg +i ];
19
+ }
20
+ for (int i =0 ;i <right ;i ++){
21
+ rightarray [i ]=arr [mid +i +1 ];
22
+ }
23
+ int i =0 ,j =0 ,k =beg ;
24
+ while (i <left &&j <right ){
25
+ if (leftarray [i ]<rightarray [j ])
26
+ arr [k ++]=leftarray [i ++];
27
+ else
28
+ arr [k ++]=rightarray [j ++];
29
+ }
30
+ while (i <left ){
31
+ arr [k ++]=leftarray [i ++];
32
+ }
33
+ while (j <right ){
34
+ arr [k ++]=rightarray [j ++];
35
+ }
36
+ }
37
+ }
You can’t perform that action at this time.
0 commit comments