Cod sursa(job #3129070)

Utilizator RK13Barbu Eduard RK13 Data 12 mai 2023 15:02:56
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;

//implementarea quicksort--->derivata de la merge sort

ifstream f("algsort.in");
ofstream g("algsort.out");

int n,v[500001];

int partitie(int st, int dr)
{int i=st,j=dr,p=0;
    while (i<j)
    {
        if (v[i]>v[j])
        {
            swap(v[i],v[j]);
            p=1-p;
        }
        i+=p;
        j-=1-p;
    }
    return i;
}

void mergesort(int st, int dr)
{
    if (st>=dr)
        return;
    int pivot=partitie(st,dr);
    mergesort(st,pivot-1);
    mergesort(pivot+1,dr);
}

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