Implement Merge Sort algorithm in C++

## Code

`// mergesort#include <iostream>using namespace std;void merge(int arr[], int l, int m, int r){    int i, j, k;    int n1 = m - l + 1;    int n2 = r - m;    int L[n1], R[n2];    for (i = 0; i < n1; i++)    {        L[i] = arr[l + i];    }    for (j = 0; j < n2; j++)    {        R[j] = arr[m + 1 + j];    }    i = 0;    j = 0;    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 mergeSort(int arr[], int l, int r){    if (l < r)    {        int m = l + (r - l) / 2;        mergeSort(arr, l, m);        mergeSort(arr, m + 1, r);        merge(arr, l, m, r);    }}int main(){    int n, i, j, temp;    int arr[50];    cout << "Enter the size of array: ";    cin >> n;    cout << "Enter the elements of array: " << endl;    for (i = 0; i < n; i++)    {        cin >> arr[i];    }    mergeSort(arr, 0, n - 1);    cout << "Sorted array: ";    for (i = 0; i < n; i++)    {        cout << arr[i] << " ";    }    cout << endl;    return 0;}`

## Output

Enter the size of array: 6
Enter the elements of array:
13
46
23
14
56
32
Sorted array: 13 14 23 32 46 56