Pagini recente » Cod sursa (job #1906484) | Cod sursa (job #956027) | Cod sursa (job #2821025) | Cod sursa (job #2162771) | Cod sursa (job #2027755)
#include <fstream>
using namespace std;
int x[100],n,c[100];
ifstream f("algsort.in");
ofstream g("algsort.out");
void interclas(int st,int mij,int dr)
{
int a=st,b=mij+1,i,k=0;
while(a<=mij&&b<=dr)
{
if(x[a]<x[b]) {c[++k]=x[a];a++;}
else {c[++k]=x[b];b++;}
}
while(a<=mij) c[++k]=x[a],a++;
while(b<=dr) c[++k]=x[b],b++;
for(i=st;i<=dr;i++) x[i]=c[i-st+1];
}
void sort(int st,int dr)
{
if(st!=dr)
{
int mij=(st+dr)/2;
sort(st,mij);
sort(mij+1,dr);
interclas(st,mij,dr);
}
}
int main()
{
f>>n;
for(int i=1; i<=n; i++) f>>x[i];
sort(1,n);
for(int i=1; i<=n; i++) g<<x[i]<<' ';
return 0;
}