Pagini recente » Rating kokos vasile (kukurigu) | Cod sursa (job #970913) | Cod sursa (job #1536232) | Istoria paginii runda/omg_comeback/clasament | Cod sursa (job #984538)
Cod sursa(job #984538)
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int N,Array[500002],Aux[500002];
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;
if(Right-Left==1)
if(Array[Left]>Array[Right])
swap(Array[Left],Array[Right]);
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;
}