Pagini recente » Cod sursa (job #1452354) | Cod sursa (job #1618467) | Cod sursa (job #1534345) | Cod sursa (job #2897413) | Cod sursa (job #2736669)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n;
int v[500005];
void QuickSort(int v[], int lf, int rg)
{
if (lf >= rg)
{
return;
}
int mid = (lf + rg) / 2;
swap(v[mid], v[rg]);
int firstFree = lf;
for (int i = lf; i < rg; i++)
{
if (v[i] <= v[rg])
{
swap(v[i], v[firstFree]);
firstFree++;
}
}
swap(v[rg], v[firstFree]);
QuickSort(v, lf, firstFree - 1);
QuickSort(v, firstFree + 1, rg);
}
int main()
{
fin >> n;
for (int i = 1; i <= n; i++)
{
fin >> v[i];
}
QuickSort(v, 1, n);
for (int i = 1; i <= n; i++)
{
fout << v[i] << ' ';
}
return 0;
}