Cod sursa(job #2621970)

Utilizator DariaCretuCretu Daria Stefana DariaCretu Data 31 mai 2020 10:43:35
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, v[50001], i, v_nou[50001];
void merges(int v[], int st, int dr)
{   int k, j;
    if( st<dr )
        {
            int m =( st + dr )/2;
            merges(v,st,m);
            merges(v,m+1,dr);
            int i=st; j=m+1; k=0;
            while (i<=m && j<=dr)
                if(v[i]<v[j])
                    v_nou[++k] = v[i++];
                else
                    v_nou[++k] = v[j++];
            while(i <= m)
                v_nou[++k] = v[i++];
            while(j <= dr)
                v_nou[++k] = v[j++];
            i = 1; j = st;
            while (i <= k)
                v[j++] = v_nou[i++];
        }


}
int main()
{   f>>n;
    for(i=1; i<=n; i++)
        f>>v[i];
    merges(v,1,n);
    for(i=1; i<=n; i++)
        g<<v[i]<<" ";
    return 0;
}