Pagini recente » Rating Dranda Radu Octavian (DrandaRadu) | Cod sursa (job #1249044) | Cod sursa (job #2814466) | Diferente pentru warm-up-2019/solutii/shoturi intre reviziile 47 si 46 | Cod sursa (job #3222869)
#include <fstream>
using namespace std;
ifstream in("algosort.in");
ofstream out("algosort.out");
void QS(int v[], int start, int n)
{
if (start < n)
{
int mid = (start + n) / 2;
int aux = v[start];
v[start] = v[mid];
v[mid] = aux;
int i = start, j = n, d = 0;
while (i < j)
{
if (v[i] > v[j])
{
int aux = v[i];
v[i] = v[j];
v[j] = aux;
d = 1 - d;
}
i += d;
j -= 1 - d;
}
QS(v, start, i);
QS(v, i + 1, n);
}
}
int main()
{
int v[500001];
int n;
in >> n;
for (int i = 1; i <= n; i++)
in >> v[i];
QS(v, 1, n);
for (int i = 1; i <= n; i++)
out << v[i] << " ";
return 0;
}