Professional Documents
Culture Documents
Merge Sort
Merge Sort
Merge Sort
Algorithm:
#include <stdio.h>
#define max 100
int merge(int a[],int mid,int low,int high)
{
int i,j,k,b[100];
i=low;
j=mid+1;
k=low;
while(i<=mid&&j<=high)
{
if(a[i]<a[j])
{
b[k]=a[i];
i++;
k++;
}
else
{
b[k]=a[j];
j++;
k++;
}
}
while(i<=mid)
{
b[k]=a[i];
k++;
i++;
}
while(j<=high)
{
b[k]=a[j];
k++;
j++;
}
for(int i=low;i<=high;i++)
{
a[i]=b[i];
}
}
int mergesort(int a[],int low,int high)
{
int mid;
if(low<high)
{
mid=(low+high)/2;
mergesort(a,low,mid);
mergesort(a,mid+1,high);
merge(a,mid,low,high);
}
}
int main()
{
int a[max],n,i;
printf("Enter The Number Of Elements In The List...:\n");
scanf("%d",&n);
printf("Enter %d Numbers...:\n",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
mergesort(a,0,n-1);
printf("After Merge Sorting The Elements Are As Follows:\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);
printf("\n");
return 0;
}
Output:
Enter The Number Of Elements In The List...:
5
Enter 5 Numbers...:
225
196
169
144
121
After Merge Sorting The Elements Are As Follows:
121
144
169
196
225