Monday, May 11, 2009

C-PROGRAM FOR MERGE SORT

#include
#include
void main(void)
{
int i,j,k,l,m,n,a[20],b[20],c[20];
printf("\nenter the array1 size");
scanf("%d",&m);
printf("\nenter %d elements",m);
for(i=0;i<=m;i++)
scanf("%d",&a[i]);
sort_array(a,m-1);
printf("\nsorted arra1:");
for(i=0;i<=m;i++)
printf("\t%d",a[i]);
printf("\nenter the array2 size:");
scanf("%d",&n);
printf("\nenter %d elements:",n);
for(i=0;i<=n;i++)
printf("\t%d",&b[i]);
sort_array(b,n-1);
printf("\nsorted array 2:");
for(i=0;i<=n;i++)
printf("\t%d",b[i]);
i=j=k=0;
while((i if(a[i] < b[j])
{
c[k]=a[i];
i++;
k++;
}
else
{
if(a[i]>b[j])
{
c[k]=b[j];
j++;
k++;
}
else
{
c[k]=a[i];
i++;
j++;
k++;
}
}
if(i {
for(i=1;i {
c[k]=a[i];
i++;
k++;
}
}
else
if(j {
for(i=j;i {
c[k]=b[j];
j++;
k++;
}
}
printf("\nmerged array is:");
for(i=0;i printf("\t %d",c[i]);
}

void sort_array(int sa[20],int x)
{
int i,flag,temp;
flag=0;
while(flag==0)
{
flag=1;
for(i=0;i {
if(sa[i]>sa[i+1])
{
temp=sa[i];
sa[i]=sa[i+1];
sa[i+1]=temp;
flag=0;
}
}
}
}

No comments:

Post a Comment