Pagini recente » Cod sursa (job #756060) | Cod sursa (job #3175789) | Cod sursa (job #27971) | Cod sursa (job #895321) | Cod sursa (job #2216891)
#include <iostream>
using namespace std;
#include <fstream>
int a[50000],n;
void ms(int i, int m, int j)
{
int b[50000];
int x=i,y=m+1,k=1;
while (x<=m&&y<=j)
if(a[x]<a[y])
b[k++]=a[x++];
else
b[k++]=a[y++];
while (x<=m)
b[k++]=a[x++];
while (y<=j)
b[k++]=a[y++];
int t=i;
for(k=1;k<=(j-i)+1;k++)
a[t++]=b[k];
}
void dei (int i,int j)
{
if(i<j)
{ int m=i+(j-i)/2;
dei(1,m);
dei(m+1,j);
ms(i,m,j);
}
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
dei(1,n);
for(int i=1;i<=n;i++)
g<<a[i]<<" ";
f.close();
g.close();
return 0;
}