Cod sursa(job #2216891)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 28 iunie 2018 12:16:27
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
using namespace std;
#include <fstream>

int a[50000],n;
void ms(int i, int m, int j)
{
 int b[50000];
    int x=i,y=m+1,k=1;
        while (x<=m&&y<=j)
            if(a[x]<a[y])
                b[k++]=a[x++];
        else
                b[k++]=a[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 dei (int i,int j)
{
    if(i<j)
    {   int m=i+(j-i)/2;
        dei(1,m);
        dei(m+1,j);
        ms(i,m,j);
    }
}

int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    f>>n;
for(int i=1;i<=n;i++)
    f>>a[i];
dei(1,n);
for(int i=1;i<=n;i++)
    g<<a[i]<<" ";
    f.close();
    g.close();
    return 0;
}