Cod sursa(job #1469766)

Utilizator marius7Vlad Marius marius7 Data 9 august 2015 15:14:05
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
    ofstream fout("algsort.out");
    int n,a[500000];
    void interclas(int i,int m,int j)
    {
        int b[500000];
         int x=i,k=1,y=m+1;
         while(x<=m&&y<=j)

             if(a[x]<b[y])
               b[k++]=a[x++] ;
               else
               b[k++]=b[y++];
               while(x<=m)
               b[k++]=a[x++];
             while (y<=j)

        b[k++]=a[y++];



 int t=i;

 for (k=1;k<=(j-i)+1;k++)

        a[t++]=b[k];

    }
    void divimp(int i,int j)

{if (i<j)

    {int m=(i+j)/2;

     divimp(i,m);

     divimp(m+1,j);

     interclas(i,m,j);}

}
int main()
{
 int i;
   fin>>n;
   for(i=1;i<=n;i++)
    fin>>a[i];
   divimp(1,n);
   for(i=1;i<=n;i++)
    fout<<a[i]<<" ";
    return 0;
}