Pagini recente » Cod sursa (job #2738109) | Cod sursa (job #1125697) | Cod sursa (job #1176092) | Cod sursa (job #2289707) | Cod sursa (job #2913542)
#include <fstream>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout("algsort.out");
int n,i,V[500001],W[500001];
void interclasare(int st, int dr, int mid)
{
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 cautare(int st,int dr)
{
if(st<dr)
{
int mid=(st+dr)/2;
cautare(st,mid);
cautare(mid+1,dr);
interclasare(st,dr,mid);
}
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>V[i];
cautare(1,n);
for(i=1;i<=n;i++)
fout<<V[i]<<" ";
return 0;
}