Pagini recente » Cod sursa (job #1795861) | Cod sursa (job #423815) | Cod sursa (job #883268) | Cod sursa (job #293979) | Cod sursa (job #965755)
Cod sursa(job #965755)
// QuickSort
#include<cstdio>
#include<algorithm>
using namespace std;
const int NMAX = 500005;
int N,i,A[NMAX];
int Partition(int l,int r)
{
int x=A[l],i=l-1,j=r+1;
for(;;)
{
do j--; while(A[j]>x);
do i++; while(A[i]<x);
if(i<j) swap(A[j],A[i]);
else return j;
}
}
void QuickSort(int l,int r)
{
if(l<r)
{
int q=Partition(l,r);
QuickSort(l,q);
QuickSort(q+1,r);
}
}
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]);
QuickSort(1,N);
for(i=1;i<=N;i++) printf("%d ",A[i]);
return 0;
}