Pagini recente » Cod sursa (job #968294) | Cod sursa (job #2611941) | Cod sursa (job #3190109) | Cod sursa (job #2726246) | Cod sursa (job #2063392)
#include <iostream>
#include <fstream>
#define dm 500004
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[dm];
int mutari(int lo, int hi)
{
int piv = v[hi];
int i = lo - 1;
for(int j = lo; j <= hi - 1; j++)
{
if(v[j] < piv)
{
i++;
swap(v[i], v[j]);
}
}
swap(v[i + 1], v[hi]);
return (i+1);
}
void quick_sort(int lo, int hi)
{
if( lo < hi )
{
int piv = mutari(lo, hi);
quick_sort(lo, piv - 1);
quick_sort(piv + 1, hi);
}
}
int n;
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
fin >> v[i];
quick_sort(1, n);
for(int i = 1; i <= n; i++)
{
fout << v[i] << " ";
}
return 0;
}