Pagini recente » Cod sursa (job #651743) | Cod sursa (job #2684131) | Cod sursa (job #1718929) | Cod sursa (job #1995839) | Cod sursa (job #261658)
Cod sursa(job #261658)
#include <cstdlib>
#include <fstream>
#define N 500001
using namespace std;
long a[N];
void sort(int left, int right)
{int l=left,r=right,e=a[left+rand()%(right-left+1)],aux;
while(l<r)
{while(a[l]<e)l++;
while(a[r]>e)r--;
if(l<=r)
{aux=a[l];
a[l]=a[r];
a[r]=aux;
l++;
r--;
}
}
if(r>left)
sort(left,r);
if(l<right)
sort(l,right);
}
int main ()
{fstream fout("algsort.out",ios::out);
fstream fin("algsort.in",ios::in);
int n,i;
fin>>n;
for (i=0;i<n;i++)
{fin>>a[i];}
sort(0,n-1);
for (i=0;i<n;i++)
{fout <<a[i]<<" ";
}
fout.close();
return 0;
}