Pagini recente » Borderou de evaluare (job #804547) | Cod sursa (job #3224116) | Cod sursa (job #2038997) | Cod sursa (job #348892) | Cod sursa (job #2020600)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, i, j, v[500005];
int partitie (int in, int sf)
{
int pind = in;
int aux = 0;
for (int i = in; i < sf; i++)
if (v[i] < v[sf])
{
aux = v[i]; v[i] = v[pind]; v[pind] = aux;
pind++;
}
aux = v[pind]; v[pind] = v[sf]; v[sf] = aux;
return pind;
}
void quicksort (int in, int sf)
{
if (in < sf)
{
int piv = partitie (in, sf);
quicksort (in, piv - 1);
quicksort (piv + 1, sf);
}
}
int main () {
fin >> n;
for (i = 1; i <= n; i++)
fin >> v[i];
quicksort (1, n);
for (i = 1; i <= n; i++)
fout << v[i] << " ";
}