Cod sursa(job #1279387)

Utilizator robx12lnLinca Robert robx12ln Data 30 noiembrie 2014 11:33:04
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
long long v[500003],n,i,j,x[500003],m,k;
void interclasez(int p,int m,int u){
    k=0;
    i=p;
    j=m+1;
    while(i<=m && j<=u){
        if(v[i]<v[j]){
            x[++k]=v[i++];
        }else{
            x[++k]=v[j++];
        }
    }
    for(;i<=m;i++){
        x[++k]=v[i];
    }
    for(;j<=u;j++){
        x[++k]=v[j];
    }
    for(i=1;i<=k;i++){
        v[i]=x[i];
    }
}
void sortez(int p, int u){
    if(p<u){
        m=(p+u)/2;
        sortez(p,m);
        sortez(m+1,u);
        interclasez(p,m,u);
    }
}
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    sortez(1,n);
    for(i=1;i<=n;i++){
        fout<<v[i]<<" ";
    }
    return 0;
}