#include<stdio.h>
void display(int a[],int n);
void mergesort(int a[],int ,int);
void simplemerge(int a[],int ,int, int);
int main()
{
int a[20],i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("Unsorted List\n");
display(a,n);
mergesort(a,0,n-1);
printf("\nMERGE SORT\nSorted List\n");
display(a,n);
return 0;
}
void display(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
}
}
void mergesort(int a[],int lb,int ub)
{
int mid;
if(lb<ub)
{
mid = (lb+ub)/2;
mergesort(a,lb,mid);
mergesort(a,mid+1,ub);
simplemerge(a,lb,mid,ub);
}
}
void simplemerge(int a[],int lb,int mid,int ub)
{
int i=lb,j=mid+1,k=lb;
int c[20];
while(i<=mid && j<=ub)
{
if(a[i]<=a[j])
{
c[k]=a[i];
i++;
k++;
}
else
{
c[k]=a[j];
j++;
k++;
}
}
while(i<=mid)
{
c[k]=a[i];
i++;
k++;
}
while(j<=ub)
{
c[k]=a[j];
j++;
k++;
}
for(i=lb;i<=ub;i++)
{
a[i]=c[i];
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: