Cod sursa(job #1479362)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 31 august 2015 10:15:59
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>

using namespace std;

struct nod {
    int inf;
    int nr;
    nod *st, *dr;
};

nod *r;
int n, x;
ifstream fin("algsort.in");
ofstream fout("algsort.out");

void inserare(int x, nod *&r) {

    if (r == NULL) {
        r = new nod;
        r->inf = x;
        r->nr = 1;
        r->st = r->dr = NULL;
    } else
        if (r->inf == x)
            r->nr++;
        else
            if (r->inf > x)
                inserare(x, r->st);
            else
                inserare(x, r->dr);
}


void afisare(nod *r) {
    if (r!=NULL) {
        afisare(r->st);
        for (int i=1;i<=r->nr;i++)
            fout<<r->inf<<" ";
        afisare(r->dr);
    }
}

int main() {

    fin>>n;
    r = NULL;
    for (int i=1;i<=n;i++){
        fin>>x;
        inserare(x, r);

    }

    afisare(r);

    return 0;
}