Pagini recente » Cod sursa (job #3226563) | Cod sursa (job #2580514) | Cod sursa (job #276480) | Cod sursa (job #2864077) | Cod sursa (job #1726395)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
#define nmax 500010
#define cout fout
int n;
int v[nmax];
int get_pivot(int a,int b)
{
int ii,jj;
ii=1;
jj=0;
while(a<b)
{
if(v[a]>v[b])
{
swap(v[a],v[b]);
ii=1-ii;
jj=1-jj;
}
a+=ii;
b-=jj;
}
return a;
}
void qsort(int a,int b)
{
if(b<=a) return;
int p=get_pivot(a,b);
qsort(a,p-1);
qsort(p+1,b);
}
int main()
{
int i;
fin>>n;
for(i=1;i<=n;++i)
fin>>v[i];
qsort(1,n);
for(i=1;i<=n;++i) cout<<v[i]<<' ';
return 0;
}