Mai intai trebuie sa te autentifici.

Cod sursa(job #2897675)

Utilizator IoanStoicaStoica Ioan IoanStoica Data 4 mai 2022 15:12:37
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>

using namespace std;

int v[500001], aux[500001];

void mergSort(int s, int f)
{
    if(f-s==1)
    {
        if( v[s] > v[f] )
            swap(v[s],v[f]);
    }
    if(f-s>=2)
    {
        int piv= v[s];
        int s1=s,f1=f;
        for(int i=s;i<=f;i++)
            if(v[i] < piv)
                aux[s1++] = v[i];
            else aux[f1--] = v[i];

        for(int i=s;i<=f;i++)
            v[i] = aux[i];
        mergSort(s,s1-1);
        mergSort(f1+1,f);///to do

    }
}

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