Pagini recente » Cod sursa (job #2605293) | Cod sursa (job #781817) | Cod sursa (job #160301) | Cod sursa (job #1095692) | Cod sursa (job #3038270)
#include <fstream>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int i,n,j,k,v[100002],aux[100002];
void interclas (int st,int mij,int dr)
{
i=st;
j=mij+1;
k=st-1;
while (i<=mij&&j<=dr)
{
if (v[i]<v[j])
aux[++k]=v[i++];
else
aux[++k]=v[j++];
}
for (; i<=mij; i++)
aux[++k]=v[i];
for (; j<=dr; j++)
aux[++k]=v[j];
for (i=st; i<=dr; i++)
v[i]=aux[i];
}
void sortare (int st,int dr)
{
if (st<dr)
{
int mij=(st+dr)/2;
sortare (st,mij);
sortare (mij+1,dr);
interclas (st,mij,dr);
}
}
int main()
{
fin>>n;
for (i=1; i<=n; i++)
fin>>v[i];
sortare (1,n);
for (i=1; i<=n; i++)
fout<<v[i]<<" ";
return 0;
}