0% found this document useful (0 votes)
7 views2 pages

Merge Sort Program in C Language For Practise

The document contains a C program that implements the Merge Sort algorithm to sort an array of integers. It includes functions for merging two halves of the array, recursively sorting the array, and printing the array before and after sorting. The program prompts the user to input the number of elements and the elements themselves, then displays the sorted array.

Uploaded by

Shivam chavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views2 pages

Merge Sort Program in C Language For Practise

The document contains a C program that implements the Merge Sort algorithm to sort an array of integers. It includes functions for merging two halves of the array, recursively sorting the array, and printing the array before and after sorting. The program prompts the user to input the number of elements and the elements themselves, then displays the sorted array.

Uploaded by

Shivam chavan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

22/05/2023, 22:05 127.0.0.1:5500/03.merge_sort.

// 03.Programm to demonstrate the concept of Merge sort

#include <stdio.h>

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);
}
}

void printArray(int A[], int size)


{
int i;
for (i = 0; i < size; i++)

127.0.0.1:5500/03.merge_sort.c 1/2
22/05/2023, 22:05 127.0.0.1:5500/03.merge_sort.c

printf("%d ", A[i]);


printf("\n");
}

int main()
{
int count;
printf("How many elements you want to enter (Max Size 10): ");
scanf("%d", &count);

int arr[count];
printf("Enter %d elements : ", count);
for (int i = 0; i < count; i++)
scanf("%d",&arr[i]);

int arr_size = sizeof(arr) / sizeof(arr[0]);

printf("Given array is \n");


printArray(arr, arr_size);

mergeSort(arr, 0, arr_size - 1);

printf("\nSorted array is \n");


printArray(arr, arr_size);
return 0;
}

/*
OUTPUT:
How many elements you want to enter (Max Size 10): 6
Enter 6 elements : 2 4 54 43 22 565
Given array is
2 4 54 43 22 565

Sorted array is
2 4 22 43 54 565
*/

127.0.0.1:5500/03.merge_sort.c 2/2

You might also like