Pagini recente » Cod sursa (job #2786492) | Istoria paginii runda/bomba | Cod sursa (job #2370869) | Cod sursa (job #2236806) | Cod sursa (job #1539155)
#include<fstream>
using namespace std;
int v[500000];
void qqqCormen(int s, int d) {
int i = s - 1, j, x = v[d];
for(j = s; j < d; ++j)
if(v[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;
}