Pagini recente » Cod sursa (job #2828098) | Cod sursa (job #184829) | Statistici Sebastian Chiselita (Sebi_Chiselita) | Cod sursa (job #3272308) | Cod sursa (job #984536)
Cod sursa(job #984536)
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int N,Array[100002],Aux[100002];
void Read()
{
f>>N;
int i;
for(i=1;i<=N;i++)
f>>Array[i];
}
void DEI(int Left,int Right)
{
if(Left==Right)
return;
int Mid=(Left+Right)/2;
DEI(Left,Mid);
DEI(Mid+1,Right);
int i=Left,j=Mid+1,k=0;
while(i<=Mid && j<=Right)
{
if(Array[i]<Array[j])
Aux[++k]=Array[i++];
else
Aux[++k]=Array[j++];
}
if(i<=Mid)
for(;i<=Mid;i++)
Aux[++k]=Array[i];
if(j<=Right)
for(;j<=Right;j++)
Aux[++k]=Array[j];
for(i=1;i<=k;i++)
Array[i+Left-1]=Aux[i];
}
void Print()
{
int i;
for(i=1;i<=N;i++)
g<<Array[i]<<" ";
g<<"\n";
}
int main()
{
Read();
DEI(1,N);
Print();
return 0;
}