Pagini recente » Cod sursa (job #2532775) | Cod sursa (job #2483170) | Cod sursa (job #2360009) | Cod sursa (job #1974837) | Cod sursa (job #1021912)
#include<iostream>
#include<fstream>
#include<ctime>
#include<cstdlib>
#include<algorithm>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500001], n;
void qsort(int a, int b)
{
int i=a, j=b;
srand(time(0));
int p=a+rand()%(b-a+1);
while(i<=j)
{
while(v[i]<p)
++i;
while(v[j]>p)
--j;
if(i<=j)
swap(v[i], v[j]), ++i, --j;
}
if(a<j)
qsort(a,j);
if(i<b)
qsort(i,b);
}
int main()
{
f>>n;
for(int i=1;i<=n;++i)
f>>v[i];
qsort(1, n);
for(int i=1; i<=n; ++i) g<<v[i]<<' ';
}