# include<stdio.h>
# include<conio.h>
int
k;
shell(int a[],int n)
{
int s,i,j;
i=n/2;
while(i>0)
{
j=i;
do
{
k=j;
j=j+1;
while(k>0)
{
if(a[k]>a[k+1])
{
s=a[k];
a[k]=a[k+1];
a[k+1]=s;
k=k-i;
}
else
k=0;
}
}while(j!=n);
i=i/2;
}
}
main()
{
int i,a[50],n;
char ch;
l:
clrscr();
printf("\n\n\t\t\tSHELL
SORT\n\t\t\t~~~~~~ ~~~~~\n");
printf("\nENTER
THE NO OF ELEMENTS TO BE SORTED: ");
scanf("%d",&n);
printf("\n\nENTER
THE ELEMENTS:\n ");
for(i=1;i<=n;i++)
{
printf("\ta[%d] :",i);
scanf("%d",&a[i]);
}
shell(a,n);
printf("\nTHE
SORTED LIST IS:\n~~~~~~~~~~~~~~~~~~~~\n");
for(i=1;i<=n;i++)
printf("\n\t\ta[%d] : %d",i,a[i]);
printf("\nDo
you want to continue(Y/N):" );
scanf("%s",&ch);
if(ch=='y'||ch=='Y')
goto
l;
else
exit(0);
getch();
}
No comments:
Post a Comment