Pagini recente » Cod sursa (job #2222464) | Cod sursa (job #1712848) | Cod sursa (job #2003908) | Cod sursa (job #2847087) | Cod sursa (job #478645)
Cod sursa(job #478645)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,i,a[500001];
void quicksort(int A[],int f,int l);
int main()
{
freopen ("algsort.in","r",stdin);
freopen ("algsort.out","w",stdout);
scanf ("%d",&n);
for (i=1;i<=n;scanf("%d",&a[i]),++i);
quicksort(a,1,n);
for (i=1;i<=n;printf("%d ",a[i]),++i);
return 0;
}
void quicksort(int A[], int l, int r)
{
int i=l-1,j=r;
if (r<=l) return;
for (;;)
{
while (A[++i]<A[r]) ;
while (A[r]<A[--j]) if (j==l) break;
if (i>=j) break;
swap(A[i],A[j]);
}
swap(A[i],A[r]);
quicksort(a,l,i-1);
quicksort(a,i+1,r);
}