/*Merge Sort By C Program created By Prashant Shinde*/
MERGE SORT:-
#include<stdio.h>
#include<conio.h>
int A[10];
void msort(int,int);
void combine(int,int,int);
void input(int);
void display(int);
void main()
{
int n;
clrscr();
printf("Enter the no. of element=");
scanf("%d",&n);
input(n);
msort(0,n-1);
printf("\nThe sortted list is:-\n");
display(n);
getch();
}
void input(int n)
{
int i;
for (i=0;i<n;i++)
{
printf("enter a value=");
scanf("%d",&A[i]);
}
}
void display(int n)
{
int i;
for (i=0;i<n;i++)
{
printf("A[%d]=%d\n",i,A[i]);
}
}
void msort(int L,int H)
{
int m;
if(L<H)
{
m=(L+H)/2;
msort(L,m);
msort(m+1,H);
combine(L,m,H);
}
}
void combine(int L,int m,int H)
{
int i=L,j=m+1,k=L,t[10];
while(i<=m&&j<=H)
{
if(A[i]<A[j])
{
t[k]=A[i];
i++;
k++;
}
else
{
t[k]=A[j];
j++;
k++;
}
}
while(i<=m)
{
t[k]=A[i];
i++;
k++;
}
while(j<=H)
{
t[k]=A[j];
j++;
k++;
}
for(k=L;k<=H;k++)
{
A[k]=t[k];
}
}
OUTPUT:-
Enter the no. of element=5
enter a value=789
enter a value=123
enter a value=456
enter a value=258
enter a value=100
The sortted list is:-
A[0]=100
A[1]=123
A[2]=258
A[3]=456
A[4]=789
MERGE SORT:-
#include<stdio.h>
#include<conio.h>
int A[10];
void msort(int,int);
void combine(int,int,int);
void input(int);
void display(int);
void main()
{
int n;
clrscr();
printf("Enter the no. of element=");
scanf("%d",&n);
input(n);
msort(0,n-1);
printf("\nThe sortted list is:-\n");
display(n);
getch();
}
void input(int n)
{
int i;
for (i=0;i<n;i++)
{
printf("enter a value=");
scanf("%d",&A[i]);
}
}
void display(int n)
{
int i;
for (i=0;i<n;i++)
{
printf("A[%d]=%d\n",i,A[i]);
}
}
void msort(int L,int H)
{
int m;
if(L<H)
{
m=(L+H)/2;
msort(L,m);
msort(m+1,H);
combine(L,m,H);
}
}
void combine(int L,int m,int H)
{
int i=L,j=m+1,k=L,t[10];
while(i<=m&&j<=H)
{
if(A[i]<A[j])
{
t[k]=A[i];
i++;
k++;
}
else
{
t[k]=A[j];
j++;
k++;
}
}
while(i<=m)
{
t[k]=A[i];
i++;
k++;
}
while(j<=H)
{
t[k]=A[j];
j++;
k++;
}
for(k=L;k<=H;k++)
{
A[k]=t[k];
}
}
OUTPUT:-
Enter the no. of element=5
enter a value=789
enter a value=123
enter a value=456
enter a value=258
enter a value=100
The sortted list is:-
A[0]=100
A[1]=123
A[2]=258
A[3]=456
A[4]=789
No comments:
Post a Comment