Pagini recente » Cod sursa (job #2894290) | Cod sursa (job #2232100) | Cod sursa (job #389290) | Cod sursa (job #2167873) | Cod sursa (job #2864363)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
const int NMAX=5e5+1;
int v[NMAX];
void quicksort(int left, int right)
{
if(right<=left)
return;
int pivot=rand()%(right-left+1)+left;
int poz=left;
swap(v[pivot],v[right]);
for(int i=left;i<=right-1;i++)
{
if(v[i]<=v[right])
{
swap(v[poz],v[i]);
poz++;
}
}
swap(v[poz],v[right]);
quicksort(left,poz-1);
quicksort(poz+1,right);
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>v[i];
}
quicksort(1,n);
for(int i=1;i<=n;i++)
{
cout<<v[i]<<" ";
}
return 0;
}