Pagini recente » Istoria paginii runda/usu6 | Cod sursa (job #456232) | Istoria paginii agm-2018/runda1 | Cod sursa (job #1637719) | Cod sursa (job #1240895)
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,i,j,k,v[500005];
void quick(int a[],int st,int dr)
{
int i=st,j=dr;
int pivot=a[(st+dr)/2];
while (i<=j)
{
while (a[i]<pivot) i++;
while (a[j]>pivot) j--;
if (i<=j) { int aux=a[i];a[i]=a[j];a[j]=aux;i++;j--;}
}
if (i<dr) quick(a,i,dr);
if (st<j) quick(a,st,j);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&v[i]);
quick(v,1,n);
for (i=1;i<=n;i++)
printf("%d ",v[i]);
return 0;
}