Pagini recente » Cod sursa (job #1458323) | Cod sursa (job #2463024) | Cod sursa (job #2368272) | Cod sursa (job #67947) | Cod sursa (job #2611202)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int N, v[500001];
int pivot(int p, int u)
{
int aux;
int cp=0, cu=-1;///cp = pasul de crestere al lui p; cu = --||-- al lui u;
while(p<u)
{
if(v[p]>v[u])
{
aux=v[p];
v[p]=v[u];
v[u]=aux;
aux=cp;
cp=-cu;
cu=-aux;
}
p=p+cp;
u=u+cu;
}
return p;
}
void quicksort(int p, int u)
{
if(p<u)
{
int k=pivot(p,u);
quicksort(p,k-1);
quicksort(k+1,u);
}
}
int main()
{
f>>N;
for (int i=1;i<=N;i++)
f>>v[i];
quicksort(1,N);
for (int i=1;i<=N;i++)
g<<v[i]<<' ';
return 0;
}