Pagini recente » Cod sursa (job #1192287) | Cod sursa (job #2476938) | Cod sursa (job #1749467) | Cod sursa (job #631954) | Cod sursa (job #2540438)
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout("algsort.out");
int v[500005],n,i;
int pivot(int st,int dr)
{
int p=rand()%(dr-st)+st;
swap(v[p],v[dr]);
int j=st-1;
for(int i=st; i<dr; i++)
{
if(v[i]<v[dr])
swap(v[i],v[++j]);
}
swap(v[++j],v[dr]);
return j;
}
void qusort(int st,int dr)
{
if(st<dr)
{
int p=pivot(st,dr);
qusort(st,p-1);
qusort(p+1,dr);
}
}
int main()
{
cin>>n;
srand(time(0));
for(i=1; i<=n; i++)
cin>>v[i];
qusort(1,n);
for(i=1; i<=n; i++)
cout<<v[i]<<" ";
}