Cod sursa(job #2230196)
| Utilizator | Data | 9 august 2018 13:48:41 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout ("algsort.out");
int a[500005],n;
int pivot (int i, int j)
{
int i0=1,j0=0;
while (i<j)
{
if (a[i]>a[j])
swap(a[i],a[j]),swap(i0,j0);
i+=i0,j-=j0;
}
return i;
}
void sortare(int st, int dr)
{
if (st<dr)
{
int q=pivot(st,dr);
sortare(st,q-1),sortare(q+1,dr);
}
}
int main ()
{
int i;
cin>>n;
for (i=1;i<=n;++i)
cin>>a[i];
sortare(1,n);
for (i=1;i<=n;++i)
cout<<a[i]<<' ';
return 0;
}
