Pagini recente » Cod sursa (job #656738) | Cod sursa (job #2907467) | Cod sursa (job #499622) | Cod sursa (job #2569840) | Cod sursa (job #656087)
Cod sursa(job #656087)
#include<stdio.h>
int n,a[500010];
void swap(int &x,int &y)
{
int aux=x;
x=y;
y=aux;
}
void quick(int p,int u)
{
int i=p,j=u,m;
m=a[(i+j)/2];
do
{
while ((m<a[j]) && (j>=1)) j--;
while ((a[i]<m) && (i<=n)) i++;
if (i<=j)
{
swap(a[i],a[j]);
i++;
j--;
}
} while (i<=j);
if (p<j) quick(p,j);
if (i<u) quick(i,u);
}
int main()
{
int i;
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;
}