Pagini recente » Cod sursa (job #2013915) | Cod sursa (job #1103973) | Cod sursa (job #1034948) | Profil andradacojocaru | Cod sursa (job #976691)
Cod sursa(job #976691)
#include <fstream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
using namespace std;
int v[500005];
void qsort(int st,int dr)
{
if(st>=dr)
return;
int p=rand()%(dr-st+1)+st;
swap(v[p],v[st]);
int i,j;
for(i=st+1,j=st+1;i<=dr;i++)
if(v[i]<v[st])
{
swap(v[i],v[j]);
j++;
}
swap(v[st],v[j-1]);
qsort(st,j-2);
qsort(j,dr);
}
int main()
{
ifstream fin("algsort.in");
ofstream fout("algsort.out");
srand(time(0));
int n=0,i;
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
qsort(1,n);
for(i=1;i<=n;i++)
fout<<v[i]<<' ';
fin.close();
fout.close();
return 0;
}