Pagini recente » Cod sursa (job #1730188) | Cod sursa (job #626986) | Cod sursa (job #913886) | Cod sursa (job #2855994) | Cod sursa (job #794432)
Cod sursa(job #794432)
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
long i,v[500001],n,vv[500001],l,r,j;
void interclasare(int l,int m,int r)
{
int ii=l;
i=l;
j=m+1;
while(i<=m && j<=r)
{
if(v[i]<v[j])
{
vv[ii]=v[i];
i++;
ii++;
}
else
{
vv[ii]=v[j];
j++;
ii++;
}
}
while(i<=m)
{
vv[ii]=v[i];
i++;
ii++;
}
while(j<=r)
{
vv[ii]=v[j];
ii++;
j++;
}
for(i=l;i<=r;i++)
{
v[i]=vv[i];
}
return;
}
void ms(int l,int r)
{
if(l==r)
return;
int m=(l+r)/2;
ms(l,m);
ms(m+1,r);
interclasare(l,m,r);
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
}
l=1;
r=n;
ms(l,r);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
f.close();
g.close();
return 0;
}