#include<stdio.h>
#include<conio.h>
main()
{
int a[10],i,j,k,l,r,loc,beg,end,top=0,lower[10],upper[10],n=9;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
if(n>0)
{
top=top+1;
lower[1]=0;
upper[1]=n;
}
while(top!=NULL)
{
beg=lower[top];
end=upper[top];
top=top-1;
l=beg;
r=end;
loc=beg;
i=1;
while(i>2)
{
if(i==1)
{
while(a[loc]<=a[r]&&loc!=r)
{
r=r-1;
}
if(loc==r)
{
i=3;
}
if(a[loc]>a[r])
{
k=a[loc];
a[loc]=a[r];
a[r]=l;
i=2;
}
}
else if(i==2)
{
while(a[l]<=a[loc])
{
l=l+1;
}
if(loc==l)
{
i=3;
}
if(a[l]>a[loc])
{
k=a[l];
a[l]=a[loc];
a[loc]=a[l];
i=1;
}
}
}
if(beg<loc-1)
{
top=top+1;
lower[top]=beg;
upper[top]=loc-1;
}
if((loc+1)<end)
{
top=top+1;
lower[top]=loc+1;
upper[top]=end;
}
}
printf("sorted array\n");
for(k=0;k<10;k++)
{
printf("%d\n",a[k]);
}
return 0;
}
for more codes you can Visit http://codesofprogramming.blogspot.in/
#include<conio.h>
main()
{
int a[10],i,j,k,l,r,loc,beg,end,top=0,lower[10],upper[10],n=9;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
if(n>0)
{
top=top+1;
lower[1]=0;
upper[1]=n;
}
while(top!=NULL)
{
beg=lower[top];
end=upper[top];
top=top-1;
l=beg;
r=end;
loc=beg;
i=1;
while(i>2)
{
if(i==1)
{
while(a[loc]<=a[r]&&loc!=r)
{
r=r-1;
}
if(loc==r)
{
i=3;
}
if(a[loc]>a[r])
{
k=a[loc];
a[loc]=a[r];
a[r]=l;
i=2;
}
}
else if(i==2)
{
while(a[l]<=a[loc])
{
l=l+1;
}
if(loc==l)
{
i=3;
}
if(a[l]>a[loc])
{
k=a[l];
a[l]=a[loc];
a[loc]=a[l];
i=1;
}
}
}
if(beg<loc-1)
{
top=top+1;
lower[top]=beg;
upper[top]=loc-1;
}
if((loc+1)<end)
{
top=top+1;
lower[top]=loc+1;
upper[top]=end;
}
}
printf("sorted array\n");
for(k=0;k<10;k++)
{
printf("%d\n",a[k]);
}
return 0;
}
for more codes you can Visit http://codesofprogramming.blogspot.in/
No comments:
Post a Comment