Cod sursa(job #1280771)

Utilizator TibixbAndrei Tiberiu Tibixb Data 2 decembrie 2014 14:15:33
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>
using namespace std;
int c[500003], n, i, v[500003];
void interclasare (int p, int mij, int u){
    int i=p;
    int j=mij+1;
    int k=p-1;
    while(i<=mij && j<=u){
        if(v[i]<v[j])
            c[++k]=v[i++];
        else
            c[++k]=v[j++];
    }
    for(; i<=mij; i++)
        c[++k]=v[i];
    for(; j<=u; j++)
        c[++k]=v[j];
    for(i=p; i<=u; i++)
        v[i]=c[i];
}
void sort(int p, int u){
    if(p<u){
        int mij=p+(u-p)/2;
        sort(p, mij);
        sort(mij+1, u);
        interclasare(p, mij, u);
    }
}
ifstream in("algsort.in");
ofstream out("algsort.out");
int main(){
    in>>n;
    for(i=1; i<=n; i++)
        in>>v[i];
    sort(1, n);
    for(i=1; i<=n; i++)
    out<<v[i]<<" ";
return 0;
}