Pagini recente » Cod sursa (job #2101437) | Cod sursa (job #767366) | Cod sursa (job #2730943) | Cod sursa (job #1335306) | Cod sursa (job #1021954)
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<fstream>
#include<ctime>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500000],n;
void qs(int a, int b)
{
int i=a, j=b, p;
//srand(time(NULL));
p=a+rand()%(b-a)+1;
while(i<=j)
{
while(v[i]<v[p])
++i;
while(v[j]>v[p])
--j;
if(i<=j)
{
swap(v[i], v[j]);
++i;
--j;
}
}
if(a<j)
qs(a,j);
if(i<b)
qs(i,b);
}
int main()
{
f>>n;
for(int i=0;i<n;++i)
f>>v[i];
qs(0,n-1);
for(int i=0;i<n;++i)
g<<v[i]<<" ";
return 0;
}