Pagini recente » Cod sursa (job #2483100) | Cod sursa (job #2255272) | Cod sursa (job #446450) | Cod sursa (job #2384049) | Cod sursa (job #2065394)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int sele(int a[],int p,int r)
{
int i=p,j=r,di=1,dj=0;
int aux;
while(i<j)
{
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
di=1-di;
dj=1-dj;
}
i=i+di;
j=j-dj;
}
return i;
}
void qs(int a[],int p, int r)
{
if(p<r)
{
int q=sele(a,p,r);
qs(a,p,q-1);
qs(a,q+1,r);
}
}
int a[500002],n,i;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
qs(a,1,n);
for(i=1;i<=n;i++)
{
fout<<a[i]<<" ";
}
fin.close();
fout.close();
return 0;
}