Pagini recente » Cod sursa (job #2691006) | Cod sursa (job #1594500) | Cod sursa (job #1687757) | Cod sursa (job #1488258) | Cod sursa (job #2020602)
#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 vpiv = v[in+(sf-in)/2];
int pind = in;
int aux = 0;
for (int i = in; i < sf; i++)
if (v[i] < vpiv)
{
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] << " ";
}