Pagini recente » Cod sursa (job #2337064) | Cod sursa (job #1572446) | Cod sursa (job #2563684) | Cod sursa (job #1733693) | Cod sursa (job #2273641)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int i;
long long v[500001],n;
void ms(int i, int m,int j)
{
int w[5000001],x,y,k,t;
x=i;
y=(m+1);
k=1;
while(x<=m&&y<=j)
if(v[x]<v[y]) w[k++]=v[x++];
else w[k++]=v[y++];
while(x<=m) w[k++]=v[x++];
while(y<=j) w[k++]=v[y++];
t=i;
for(k=1;k<=j-i+1;k++)
v[t++]=w[k];
}
void dei(int i,int j)
{
int m;
if(i<j) {
m=(i+j)/2;
dei(i,m);
dei(m+1,j);
ms(i,m,j);
}
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
dei(1,n);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
}