Cod sursa(job #1807402)
Utilizator | Slincu Serban serban | Data | 16 noiembrie 2016 15:53:49 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
using namespace std;
int a[500005];
int n;
void quick(int in, int sf) {
if(sf <= in) return ;
int aux = a[in];
int i = sf;
for(int j = sf; j > in; j --) {
if(a[j] >= aux) {
swap(a[i], a[j]);
i --;
}
}
int p = i;
swap(a[p], a[in]);
quick(in, p - 1);
quick(p + 1, sf);
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
f >> n;
for(int i = 1; i <= n; i ++) {
f >> a[i];
}
quick(1, n);
for(int i = 1; i <= n; i ++) g << a[i] << " ";
g << "\n";
return 0;
}