Pagini recente » Cod sursa (job #2178083) | Cod sursa (job #1595298) | Cod sursa (job #500252)
Cod sursa(job #500252)
#include<fstream.h>
ifstream f("algsort.in");
ofstream g("algsort.out");
int n,v[500001],s[500001],c;
void interclas(int i, int m, int j)
{
int x=i,k=1,y=m+1,t=i;
while(x<=m&&y<=j) if(v[x]<v[y]) s[k++]=v[x++];
else s[k++]=v[y++];
while(x<=m) s[k++]=v[x++];
while(y<=j) s[k++]=v[y++];
for(k=1;k<=(j-i)+1;k++)v[t++]=s[k];
}
void divimp(int i, int j)
{
if(i<j) {int m=i+(j-i)/2;
divimp(i,m);
divimp(m+1,j);
interclas(i,m,j);}
}
int main()
{
f>>n;
for(c=1;c<=n;c++) f>>v[c];
divimp(1,n);
for(c=1;c<=n;c++) g<<v[c]<<' ';
g<<'\n';
f.close(); g.close();
return 0;
}