Cod sursa(job #2901326)

Utilizator agabi21Totolici Alexandru agabi21 Data 13 mai 2022 16:28:05
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algosort.in");
ofstream g("algosort.out");
int v[500011],n;
void mergeSort(int v[],int left, int right){
    if(left == right)
        return;
    int middle = (left+right)/2;
    mergeSort(v,left,middle);
    mergeSort(v,middle+1,right);
    int x[right-left+2],i=left,j=middle+1,k=0;
    while(i<=middle && j<=right)
        if(v[i]<v[j])
            x[++k]=v[i++];
        else
            x[++k]=v[j++];
    while(i<=middle)
        x[++k]=v[i++];
    while(j<=right)
        x[++k]=v[j++];
    for(i=left,j=1; i<=right ; 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]<<" "; }