Merge Sort
Merge Sort
#include <stdio.h>
int arr[50];
int i, j, k;
int temp[50];
i=left;
j=m+1;
k=left;
if(arr[i]<arr[j])
{ temp[k]=arr[i]; i++;}
else
{ temp[k]=arr[j]; j++;}
k++;
while(i<=m)
{ temp[k]=arr[i]; i++;k++;}
while(j<=right)
{ temp[k]=arr[j]; j++;k++;}
for(i=left;i<=right;i++)
arr[i]=temp[i];
}
void mergeSort( int left, int right)
{ int m;
if (left != right)
m = (left + right ) / 2;
mergeSort( m + 1, right);
void main()
int n,i;
scanf("%d",&n);
printf("Enter %d numbers\n",n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
mergeSort(0, n-1);
for(i=0;i<n;i++)
printf("%d \t",arr[i]);