Pagini recente » Cod sursa (job #3135548) | Cod sursa (job #1825277) | Cod sursa (job #659666) | Cod sursa (job #1381408) | Cod sursa (job #1020707)
#include<fstream>
#include<ctime>
#include<cstdlib>
#include<algorithm>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long n,v[500001],i;
void qksort(long st,long dr)
{long i=st,j=dr,piv;
srand(time(0));
piv=v[i+rand()%(j-i+1)];
while(i<=j)
{
while(v[i]<piv)
i++;
while(v[j]>piv)
j--;
if(i<=j)
{swap(v[i],v[j]);i++;j--;}
}
if(st<j)
qksort(st,j);
if(i<dr)
qksort(i,dr);
}
int main()
{f>>n;
for(i=1;i<=n;i++)
f>>v[i];
qksort(1,n);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
f.close();g.close();
return 0;
}