All pastes #1320773 Raw Edit

Unnamed

public text v1 · immutable
#1320773 ·published 2009-01-28 17:02 UTC
rendered paste body
#include <stdio.h>

int main (int argc, const char * argv[])
 {
    // insert code here...
	int n,i;
	int a[100];
	printf("\nEnter no of elements");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
	scanf("%d",&a[i]);
	}
	mergesort(a,1,n);
	for(i=1;i<=n;i++)
	{
	printf("\n%d",a[i]);
	}
	return 0;
}
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,low,high,mid);
}
return(0);
}

merge(int *a, int low, int high, int mid)
{
int i, j, k,c;
i=low;
j=mid+1;
//k=low;
while(i<=mid)
{
	if(a[i]<=a[j])
	{
	i++;
	}
	else
	{
	c=a[i];
	a[i]=a[j];
	a[j]=c;
	k=j;
	j++;
	i++;
		while(a[k]<=a[j])
		{
			//if(a[k]<a[j])
			//{
			c=a[k];
			a[k]=a[i];
			a[i]=c;
			i++;
			if(i>mid+1)
				{
					k++;
				}
			//}
		}
			//else
			while(a[k]>a[j])
			{
			c=a[i];
			a[i]=a[j];
			a[j]=c;
			j++;
			i++;
			if(i>mid+1)
				{
					k++;
				}
			}
	}
}

/*while(i<=mid)
{
c[k]=a[i];
k++;
i++;
}
while(j<=high)
{
c[k]=a[j];
k++;
j++;
}*/

}