36void merge(
int *arr,
int l,
int m,
int r) {
41 int *L =
new int[n1], *R =
new int[n2];
43 for (i = 0; i < n1; i++) L[i] = arr[l + i];
44 for (j = 0; j < n2; j++) R[j] = arr[m + 1 + j];
49 while (i < n1 || j < n2) {
50 if (j >= n2 || (i < n1 && L[i] <= R[j])) {
76 int m = l + (r - l) / 2;
87void show(
int *arr,
int size) {
88 for (
int i = 0; i < size; i++) std::cout << arr[i] <<
" ";
95 std::cout <<
"Enter the number of elements : ";
97 int *arr =
new int[size];
98 std::cout <<
"Enter the unsorted elements : ";
99 for (
int i = 0; i < size; ++i) {
103 std::cout <<
"Sorted array : ";
void merge(int *arr, int l, int m, int r)
void mergeSort(int *arr, int l, int r)