Pagini recente » Cod sursa (job #2483938) | Cod sursa (job #2505464) | Cod sursa (job #2579484) | Cod sursa (job #2797019) | Cod sursa (job #1645847)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,c[500001],i,flag=1,aux;
void schimb(int &a,int &b){int aux=a;a=b;b=aux;}
void divizeaza (int s,int d,int &m)
{int i=s,j=d,pi=0,pj=1;
while(i<j)
{if(c[i]>c[j]){schimb(c[i],c[j]);schimb(pi,pj);}
i=i+pi;j=j-pj;}
m=i;
}
void quicksort(int s,int d)
{
int m;if(s<d){divizeaza(s,d,m);quicksort(s,m-1);quicksort(m+1,d);}
}
int main()
{fin>>n;
for(i=1;i<=n;i++)fin>>c[i];
quicksort(1,n);
for(i=1;i<=n;i++)fout<<c[i]<<" ";
return 0;
}