Added MergeSort Implementation in Java (#28042)
* Added MergeSort Implementation in Java * fix: changed c++ to cpp
This commit is contained in:
committed by
Randell Dawson
parent
cbc2c0b7c2
commit
c9d00827c4
@ -455,6 +455,79 @@ end
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Implementation in Java
|
||||||
|
```Java
|
||||||
|
class MergeSort
|
||||||
|
{
|
||||||
|
void merge(int arr[], int l, int m, int r)
|
||||||
|
{
|
||||||
|
int n1 = m - l + 1;
|
||||||
|
int n2 = r - m;
|
||||||
|
int L[] = new int [n1];
|
||||||
|
int R[] = new int [n2];
|
||||||
|
for (int i=0; i<n1; ++i)
|
||||||
|
L[i] = arr[l + i];
|
||||||
|
for (int j=0; j<n2; ++j)
|
||||||
|
R[j] = arr[m + 1+ j];
|
||||||
|
int i = 0, j = 0;
|
||||||
|
int k = l;
|
||||||
|
while (i < n1 && j < n2)
|
||||||
|
{
|
||||||
|
if (L[i] <= R[j])
|
||||||
|
{
|
||||||
|
arr[k] = L[i];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
arr[k] = R[j];
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
while (i < n1)
|
||||||
|
{
|
||||||
|
arr[k] = L[i];
|
||||||
|
i++;
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
while (j < n2)
|
||||||
|
{
|
||||||
|
arr[k] = R[j];
|
||||||
|
j++;
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void sort(int arr[], int l, int r)
|
||||||
|
{
|
||||||
|
if (l < r)
|
||||||
|
{
|
||||||
|
int m = (l+r)/2;
|
||||||
|
sort(arr, l, m);
|
||||||
|
sort(arr , m+1, r);
|
||||||
|
merge(arr, l, m, r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static void printArray(int arr[])
|
||||||
|
{
|
||||||
|
int n = arr.length;
|
||||||
|
for (int i=0; i<n; ++i)
|
||||||
|
System.out.print(arr[i] + " ");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
public static void main(String args[])
|
||||||
|
{
|
||||||
|
int arr[] = {12, 11, 13, 5, 6, 7};
|
||||||
|
System.out.println("Given Array");
|
||||||
|
printArray(arr);
|
||||||
|
MergeSort ob = new MergeSort();
|
||||||
|
ob.sort(arr, 0, arr.length-1);
|
||||||
|
System.out.println("\n The Sorted array is : ");
|
||||||
|
printArray(arr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Relavant videos on freeCodeCamp YouTube channel
|
### Relavant videos on freeCodeCamp YouTube channel
|
||||||
* <a href='https://youtu.be/TzeBrDU-JaY'>Merge Sort algorithm - MyCodeSchool</a>
|
* <a href='https://youtu.be/TzeBrDU-JaY'>Merge Sort algorithm - MyCodeSchool</a>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user