Pagini recente » Cod sursa (job #1135992) | Cod sursa (job #2028009) | Cod sursa (job #2250645) | Cod sursa (job #3135340) | Cod sursa (job #1233397)
#include<cstdio>
using namespace std;
int x,n,k,i,aux,a[500009];
int sort(int i, int j)
{
int k=i,aux;
x=1;
while(i<j)
{
if(x==1)
{
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
x=2;
i++;
k=j;
}
else{
j--;
k=j;
}
}
else if(x==2)
{
if(a[j]<a[i])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
x=1;
j--;
k=i;
}
else{
i++;
k=j;
}
}
}
return k;
}
void quick(int p,int u)
{
if (p<u)
{
int k=sort(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;
}