Pagini recente » Cod sursa (job #2116126) | Cod sursa (job #441859) | Cod sursa (job #2912399) | Cod sursa (job #1968762) | Cod sursa (job #912410)
Cod sursa(job #912410)
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int x[500005];
int n,k=0;
void interclasare(int pr,int mij1,int ul)
{
k=0;
int i=pr;
int j=mij1+1;
int y[500005];
while(i<=mij1 && j<=ul)
{
if(x[i]<x[j])
{
y[++k]=x[i];
i++;
}
else
{
y[++k]=x[j];
j++;
}
}
for(;i<=mij1;i++)
y[++k]=x[i];
for(;j<=ul;j++)
y[++k]=x[j];
for(i=1;i<=k;i++ )
x[pr+i-1]=y[i];
}
void sortare(int p,int u)
{
if(u-p>=1)
{
int mij=(p+u)/2;
sortare(p,mij);
sortare(mij+1,u);
interclasare(p,mij,u);
}
}
int main()
{
f>>n;
int i;
for(i=1;i<=n;++i)
f>>x[i];
sortare(1,n);
for(i=1;i<=n;++i)
g<<x[i]<<' ';
return 0;
}