Cod sursa(job #2901402)

Utilizator Marius_TillingerTillinger Marius Marius_Tillinger Data 13 mai 2022 17:44:52
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
 
const int MAX = 1001;

int v[MAX], a[MAX]; 

int n, x;

void mergeSort ( int v[], int st, int dr ) {
    if ( st < dr ) {
        int mij;
        mij = st + dr;
        mij = mij/2;
        mergeSort ( v, st, mij );
        mergeSort( v, mij+1, dr );
        
        int i = st, j = mij + 1, k = st;
        while(i <= mij || j <= dr){
            if(j > dr || (i <= mij && v[i] < v[j]))
                a[k++] = v[i++];
            else
                a[k++] = v[j++];
        }
        
        for(i = st; i <= dr; i++)
            v[i] = a[i];
    }
}
 
int main()
{
    f>>n;
    for(int i=0; i<n; i++){
        f>>v[i];
    }
    mergeSort(v, 0, n-1);

    for(int i =0; i<n; i++){
        g<<v[i]<<" ";
    }

    return 0;
}