Pagini recente » Cod sursa (job #1812402) | Cod sursa (job #613018) | Cod sursa (job #2256842) | Cod sursa (job #127823) | Cod sursa (job #2064537)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int s[500001];
void qs(int st, int dr) {
int x, i, j, t;
i = st;
j = dr;
x = s[(i + j) / 2];
do {
while ( (i < dr) && (s[i] < x) ) i++;
while ( (j > st) &&(s[j] > x) ) j--;
if ( i<= j ) {
t = s[i];
s[i] = s[j];
s[j] = t;
i++;
j--;
}
} while ( i <= j );
if ( st < j ) qs(st, j);
if ( i < dr ) qs(i, dr);
}
int main()
{
int N;
f >> N;
for (int i = 1; i <= N; i++)
f >> s[i];
qs(1, N);
for (int i = 1; i <= N; i++)
g << s[i] << ' ';
return 0;
}