Cod sursa(job #2983981)

Utilizator Razvan2699Mircea Andrei Razvan Razvan2699 Data 23 februarie 2023 13:01:47
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include<fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");

int a[10000],v[10000];

void mergesort(int left,int right)
{
    if (left<right)

{
        int mid=(left+right)/2;
    mergesort(left,mid);
    mergesort(mid+1,right);

    int i=left, j=mid+1,k=0;

    while(i<=mid && j<=right)
    {
        if(v[i]<v[j])
            a[++k]=v[i++];
        else
            a[++k]=v[j++];

    }

    while(i<=mid)
        a[++k]=v[i++];
    while(j<=right)
        a[++k]=v[j++];

    for(i=left,j=1;i<=right;i++,j++)
        v[i]=a[j];
}


}

int main()
{

    int i,n;

    in>>n;

    for (i=0;i<n;i++)
        in>>v[i];

    mergesort(0,n-1);

    for (i=0;i<n;i++)
        out<<v[i]<<" ";

    return 0;
}