Pagini recente » Cod sursa (job #1898647) | Cod sursa (job #767462) | Cod sursa (job #2577175) | Cod sursa (job #2907518) | Cod sursa (job #685833)
Cod sursa(job #685833)
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[500001];
void schimb (int&i, int&j)
{
int aux;
aux=i;
i=j;
j=aux;
}
int partitie(int st, int dr)
{
int i,j;
schimb (v[(st+dr)/2], v[dr]);
for (i=j=st; i<dr; i++)
{
if (v[i]<v[dr])
{
schimb (v[j++],v[i]);
}
}
schimb (v[j], v[dr]);
return j;
}
void qsort(int st, int dr)
{
if ( st >= dr ) return ;
int p= partitie (st, dr);
qsort(st, p-1);
qsort(p+1, dr);
}
int main ()
{
int n,i;
in>>n;
for (i=1;i<=n;i++)
{
in>>v[i];
}
qsort (1, n);
for (i=1;i<=n;i++)
{
out<<v[i]<<" ";
}
return 0;
}