Pagini recente » Cod sursa (job #2727927) | Cod sursa (job #1477969) | Cod sursa (job #1204538) | Monitorul de evaluare | Cod sursa (job #2085777)
#include <iostream>
#include <fstream>
#define nrMax 300005
using namespace std;
long long Split (long long x[], long long St, long long Dr)
{
long long i=St, j=Dr, v=x[i];
while (i<j) {
while (i<j && x[j]>=v) j--; x[i]=x[j];
while (i<j && x[i]<=v) i++; x[j]=x[i]; }
x[i]=v;
return i;
}
void Qck_Sort(long long* x, long long dr, long long st=1)
{
if (st<dr) {
int p=Split(x,st,dr);
Qck_Sort(x,p-1,st);
Qck_Sort(x,dr,p+1);
} }
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
long long n,v[nrMax];
f>>n;
for (int i=1;i<=n;i++)
f>>v[i];
Qck_Sort(v,n);
for (int i=1;i<=n;i++)
g<<v[i]<<" ";
return 0;
}