Pagini recente » Cod sursa (job #2143183) | Cod sursa (job #1277393) | Cod sursa (job #1655868) | Cod sursa (job #3213655) | Cod sursa (job #1198081)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,a[500005],aux[500005];
inline int Partition(int st,int dr)
{
int i=st,j=dr,x=a[(st+dr)>>1];
for (;;)
{
while (a[j]>x) j--;
while (a[i]<x) i++;
if (i<j)
{
swap(a[i],a[j]);
i++;j--;
}
else return j;
}
}
inline void Qsort(int st,int dr)
{
if (st<dr)
{
int mij=Partition(st,dr);
Qsort(st,mij);
Qsort(mij+1,dr);
}
}
int main()
{
int i;
fin>>n;
for (i=1;i<=n;i++) fin>>a[i];
Qsort(1,n);
for (i=1;i<=n;i++) fout<<a[i]<<" ";
return 0;
}