Pagini recente » Cod sursa (job #1138278) | Istoria paginii runda/preoni11-12 | Cod sursa (job #341552) | Cod sursa (job #2821909) | Cod sursa (job #2067076)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int a[500005],n;
inline void srt(int st,int dr)
{if(st>=dr)return;
int pivot=(st+dr)/2,i;
for( i=st;i<=dr;i++)
{
if(a[pivot]<a[i]&&pivot>i)
swap(a[pivot],a[i]),pivot=i;
if(a[pivot]>a[i]&&pivot<i)
{
swap(a[pivot],a[i]),pivot++;
swap(a[pivot],a[i]);
}
}
srt(pivot+1,dr);
srt(st,pivot);
}
int main()
{ int i;
fin>>n;
for( i=1;i<=n;i++)fin>>a[i];
srt(1,n);
for( i=1;i<=n;i++)fout<<a[i]<<" ";
return 0;
}