Pagini recente » Cod sursa (job #1374454) | Cod sursa (job #1635668) | Cod sursa (job #1602049) | Cod sursa (job #712135) | Cod sursa (job #1233392)
#include<cstdio>
int a[100],i,n;
int plasare(int st,int dr)
{
int aux,k;
int t=1;
k=st;
while(st<dr)
{
if (t==1)
if(a[k]>a[dr])
{
aux=a[k];
a[k]=a[dr];
a[dr]=aux;
k=dr;
dr++;
t=0;
}
else dr--;
else
if(a[k]<a[st])
{
aux=a[k];
a[k]=a[st];
a[st]=aux;
k=st;
st--;
t=1;
}
else st++;
}
return k;
}
void quick(int p,int u)
{
if (p<u)
{
int k=plasare(p,u);
quick(p,k-1);
quick(k+1,u);
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
quick(1,n);
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
return 0;
}