Cod sursa(job #1539153)
Utilizator | voidcube NitaMihaita | Data | 30 noiembrie 2015 12:52:30 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<fstream>
using namespace std;
int v[500000];
void qqqCormen(int s,int d)
{
int i = s - 1, j, x = arr[d];
for(j = s; j < d; ++j)
if(arr[j] <= x) {
++i;
v[j]=(v[i]+v[j])-(v[i]=v[j])
}
++i;
v[j]=(v[i]+v[j])-(v[i]=v[j])
if(s < i - 1) qqqCormen(s, i - 1);
if(i + 1 < d) qqqCormen(i + 1, d);
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
int i,n;
f>>n;
for(i=0;i<n;++i)f>>v[i];
qqqCormen(0,n-1);
for(i=0;i<n;++i)g<<v[i]<<" ";
f.close();
g.close();
return 0;
}