Cod sursa(job #1827438)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 11 decembrie 2016 20:30:32
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;
 
int* merge(int* a,int sizeA,int* b,int sizeB){
    int N=sizeA+sizeB;
    for(int i=0;i<N;++i){
      for(int j=i+1;j<N;++j){
        if (a[j]<a[i]) swap(a[i],a[j]);
      }
    }
  
    return a;
}
 
void merge_sort(int* a,int sizeA){
    if (sizeA==1) return;
    merge_sort(a+sizeA/2,sizeA/2+sizeA%2);
    merge_sort(a,sizeA/2);
 
    int* aux=merge(a+sizeA/2,sizeA/2+sizeA%2,a,sizeA/2);
}
 
 
ifstream f("algsort.in");
ofstream g("algsort.out");
 
int main(){
 
    int n;
    f>>n;
    int* a=(int*)malloc(n*sizeof(int));
    for(int i=0;i<n;++i) f>>a[i];
    merge_sort(a,n);
 
    for(int i=0;i<n;++i)
        g<<a[i]<<" ";
 
    return 0;
}