Skip to content

Commit 268bb04

Browse files
Add files via upload
1 parent bb47a7e commit 268bb04

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

Sorting/Merge Sort/MergeSort.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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+
}

0 commit comments

Comments
 (0)