Pagini recente » Cod sursa (job #1397456) | Cod sursa (job #531713) | Cod sursa (job #128997) | Cod sursa (job #1926123) | Cod sursa (job #2943027)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[500005];
void qsort(int st, int dr){
int rnr = v[(st + dr) / 2], cst = st, cdr = dr, aux;
while(v[cst] < rnr){
cst++;
}
while(v[cdr] > rnr){
cdr--;
}
while(cst < cdr){
aux = v[cst];
v[cst] = v[cdr];
v[cdr] = aux;
cst++;
cdr--;
while(v[cst] < rnr){
cst++;
}
while(v[cdr] > rnr){
cdr--;
}
}
if(st < cdr){
qsort(st, cdr);
}
if(dr > cdr + 1){
qsort(cdr + 1, dr);
}
}
int main()
{
int n, i;
in >> n;
for(i = 1; i <= n; i++){
in >> v[i];
}
// qsort(1, n);
sort(v + 1, v + n + 1);
for(i = 1; i <= n; i++){
out << v[i] << " ";
}
return 0;
}