Cod sursa(job #2898323)

Utilizator crivoicarlaCrivoi Carla crivoicarla Data 6 mai 2022 16:34:55
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
std::ifstream fin("algsort.in");
std::ofstream fout("algsort.out");

void MergeSort(vector<int> v,int r,int mid,int  l){
    int temp[l - r + 1];
    int i = r, j = mid+1, k = 0;

    while(i <= mid && j <= l) {
        if(v[i] <= v[j]) {
            temp[k] = v[i];
            k += 1; i += 1;
        }
        else {
            temp[k] = v[j];
            k += 1; j += 1;
        }
    }
    while(i <= mid) {
        temp[k] =v[i];
        k += 1; i += 1;
    }
    while(j <= l) {
        temp[k] = v[j];
        k += 1; j += 1;
    }

    for(i = r; i <= l; i += 1) {
        v[i] = temp[i - r];
    }

}
void MergeSortInbtermediar(vector<int> v, int r, int l){
    if(r < l) {
        int mid = (r+l) / 2;
        MergeSortInbtermediar(v, r, mid);
        MergeSortInbtermediar(v, mid+1, l);
        MergeSort(v, r, mid,l);
    }

}
int main() {
    int n;
    std::vector<int> v;
    fin>>n;
    for(int i=0;i<n;i++)
    {
        int a;
        fin>>a;
        v.push_back(a);
    }
    MergeSort(v,v.begin();v.end());

    return 0;
}