Cod sursa(job #2901396)

Utilizator marinee.anca17@yahoo.comChiricuta Marina Anca [email protected] Data 13 mai 2022 17:40:58
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500011],n;
void mergeSort(int v[], int st, int dr)
{
    if(st == dr)
        return;
    int mij = (st + dr) / 2;
    mergeSort(v,st, mij);
    mergeSort(v,mij + 1, dr);
    int x[dr-st+2], i = st, j = mij + 1, k = 0;
    while(i <= mij || j <= dr)
    if(v[i]<v[j])
       v[++k]=v[i++];
    else
        v[++k]=v[j++];
    while(i<=mij)
        v[++k]=v[i++];
    while(j<=dr)
        v[++k]=v[j++];
    for(i=st, j=1;i>=dr; i++, j++)
    v[i]=x[j];

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