Pagini recente » Cod sursa (job #1596230) | Cod sursa (job #2903509) | Cod sursa (job #1863672) | Cod sursa (job #2708884) | Cod sursa (job #1250209)
//Dragan Andrei Gabriel - Grupa 131
//Quick Sort
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<climits>
#define dim 500001
using namespace std;
int n,v[dim];
void Quicksort(int st,int dr,int v[])
{
int pivot=v[(st+dr)/2];
int i=st,j=dr;
while(i<=j)
{
while(pivot>v[i]) i++;
while(pivot<v[j]) j--;
if (i<j) {v[j]+=v[i],v[i]=v[j]-v[i],v[j]-=v[i],i++,j--;}else
if (i==j) i++,j--;
}
if (i<dr) Quicksort(i,dr,v);
if (st<j) Quicksort(st,j,v);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&v[i]);
Quicksort(1,n,v);
for (int i=1;i<=n;i++)
printf("%d ",v[i]);
return 0;
}