Pagini recente » Cod sursa (job #2683190) | Cod sursa (job #2447794) | Cod sursa (job #2377276) | Cod sursa (job #3232224) | Cod sursa (job #2900759)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, v[500005],a[500005];
void quicksort(int st, int dr)
{
if(st>=dr) return;
int p=st + rand() % (dr-st);
swap(v[p], v[dr]);
int i=st-1;
for(int j=st;j<dr;j++)
if(v[j]<v[dr])
i++, swap(v[i], v[j]);
i++;
swap(v[i], v[dr]);
quicksort(st, i-1);
quicksort(i+1, dr);
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++) fin>>v[i];
quicksort(1,n);
for(int i=1;i<=n;i++) fout<<v[i]<<" ";
}