Pagini recente » Cod sursa (job #2750683) | Cod sursa (job #636482) | Cod sursa (job #899243) | Cod sursa (job #2513298) | Cod sursa (job #478641)
Cod sursa(job #478641)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,i,a[500001];
void quicksort(int A[],int f,int l);
int partition(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 f,int l)
{
int q;
if (f<l)
{
q=partition(A,f,l);
quicksort(A,f,q-1);
quicksort(A,q+1,l);
}
}
int partition(int A[],int f,int l)
{
int i,j,x;
i=f-1;
x=A[l];
for (j=f;j<l;++j)
if (A[j]<=x)
{
++i;
swap (A[i],A[j]);
}
swap(A[i+1],A[l]);
return i+1;
}