Pagini recente » Cod sursa (job #2635794) | Cod sursa (job #1254280) | Cod sursa (job #1091896) | Cod sursa (job #1115394) | Cod sursa (job #2534187)
#include <fstream>
using namespace std;
int n,i,V[500010],W[500010];
void IC(int st, int mid, int dr)
{
int k=st-1;
int i=st;
int j=mid+1;
while(i<=mid&&j<=dr)
{
if (V[i]<V[j])
W[++k]=V[i++];
else
W[++k]=V[j++];
}
for(;i<=mid;i++)
W[++k]=V[i];
for(;j<=dr;j++)
W[++k]=V[j];
for(i=st;i<=dr;i++)
V[i]=W[i];
}
void caut(int st,int dr)
{
if(st<dr)
{
int mid=(st+dr)/2;
caut(st,mid);
caut(mid+1,dr);
IC(st,mid,dr);
}
}
int main()
{
ifstream fin ("algsort.in");
ofstream fout("algsort.out");
fin>>n;
for(i=1;i<=n;i++)
fin>>V[i];
caut(1,n);
for(i=1;i<=n;i++)
fout<<V[i]<<" ";
return 0;
}