Pagini recente » Cod sursa (job #252816) | Cod sursa (job #1572326) | Cod sursa (job #59086) | Cod sursa (job #152827) | Cod sursa (job #3254828)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int NMAX = 500000;
int n;
int v[NMAX+1];
int partitie(int st, int dr, int val)
{
int pos = st;
for(int i=st; i<=dr; i++)
{
if(v[i] <= val)
swap(v[pos++], v[i]);
}
return pos-1;
}
void dei(int st, int dr)
{
if(st <= dr)
{
int pivot = partitie(st, dr, v[dr]);
dei(st, pivot-1);
dei(pivot+1, dr);
}
}
int main()
{
fin >> n;
for(int i=1; i<=n; i++)
fin >> v[i];
random_shuffle(v+1,v+1+n);
dei(1,n);
for(int i=1; i<=n; i++)
fout << v[i] << ' ';
return 0;
}