Cod sursa(job #1807407)
Utilizator | Slincu Serban serban | Data | 16 noiembrie 2016 16:04:09 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 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 = in, j = sf;
while(i <= j) {
while(a[i] < aux) i ++;
while(a[j] > aux) j --;
if(i <= j) {
swap(a[i], a[j]);
i ++;
j --;
}
}
quick(in, j);
quick(i, 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;
}