Pagini recente » Cod sursa (job #1506925) | Cod sursa (job #2547820) | Cod sursa (job #2981302) | Cod sursa (job #1289189) | Cod sursa (job #1280769)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500001],c[500001],n,i,j,k;
void interclaseaza(int p,int m,int u)
{
int i=p;
int j=m+1;
int k=p-1;
while (i<=m&&j<=u)
if (v[i]<v[j])
c[++k]=v[i++];
else
c[++k]=v[j++];
for (;i<=m;i++)
c[++k]=v[i];
for (;j<=u;j++)
c[++k]=v[j];
for (i=p;i<=u;i++)
v[i]=c[i];
}
void sorteaza (int p, int u){
if (p<u){
int m=(p+u)/2;
sorteaza(p,m);
sorteaza(m+1,u);
interclaseaza(p,m,u);
}
}
int main()
{
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sorteaza(1,n);
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}