Cod sursa(job #2345106)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 15 februarie 2019 21:46:07
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include<fstream>
#define inf 2147483647
using namespace std;
ifstream fin ("radixsort.in");
ofstream fout("radixsort.out");
int n,*v[10000002],i,k;
void interclasare(int* &a, int* &b){
    int *c=new int[a[0]+b[0]+1];
    c[0]=a[0]+b[0];
    int i,j,k;
    for(i=1,j=1,k=1;i<=a[0] || j<=b[0]; ){
        if((j>b[0]) || (i<=a[0] && a[i]<b[j])){
            c[k]=a[i];i++;k++;
        }
        else{
            c[k]=b[j];j++;k++;
        }
    }
    delete a; delete b;
    a=c;
}

int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        v[i]=new int[2];
        fin>>v[i][1];
        v[i][0]=1;
    }
    while(n>1){
        k=1;
        while(k<n){
            interclasare(v[k],v[n]);
            k++;n--;
        }
    }
    for(i=1;i<=v[1][0];i++){
        fout<<v[1][i]<<" ";
    }
    fout.close();
    return 0;
}