Pagini recente » Cod sursa (job #2757671) | Cod sursa (job #2953718) | Cod sursa (job #3161363) | Cod sursa (job #2068927) | Cod sursa (job #3211146)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
const int DIM = 500005;
int n, v[DIM];
void QuickSort(int st, int dr) {
if (st < dr) {
int m = (st + rand() % (dr-st+1));
int temp = v[st];
v[st] = v[m];
v[m] = temp;
int i = st, j = dr, d = 0;
while (i < j) {
if (v[i] > v[j]) {
temp = v[i];
v[i] = v[j];
v[j] = temp;
d = 1 - d;
} i += d;
j -= 1 - d;
}
QuickSort(st, i - 1);
QuickSort(i + 1, dr);
}
}
int main() {
fin >> n;
for (int i = 0 ; i < n ; i ++)
fin >> v[i];
QuickSort(0, n - 1);
for (int i = 0 ; i < n ; i ++)
fout << v[i] << " ";
return 0;
}