Pagini recente » Cod sursa (job #679419) | Cod sursa (job #845695) | Cod sursa (job #2506717) | tema | Cod sursa (job #379267)
Cod sursa(job #379267)
#include <fstream>
using namespace std;
int a[500001], n, i;
void qs(int p, int u) {
int st, dr, x, y;
st = p; dr = u;
x = a[(p+u)/2];
do {
while (a[st] < x)
st++;
while (a[dr] > x)
dr--;
if (st <= dr) {
y = a[st]; a[st] = a[dr]; a[dr] = y; st++; dr--;
}
} while (st <= dr);
if (dr > p)
qs(p, dr);
if (st < u)
qs(st, u);
}
int main () {
ifstream fi ("algsort.in");
ofstream fo ("algsort.out");
fi >> n;
for (i = 1; i <= n; i++)
fi >> a[i];
qs(1, n);
for (i = 1; i <= n; i++)
fo << a[i] << ' ';
return 0;
}