bool AlberoBinario :: Inserisci(const int t) {
Record* punt = new Record;
punt->i=t; // costruisco il nuovo elemento (sarà una foglia)..
punt->dest=0;
punt->sin=0;

punt=radice; // il confronto parte dalla radice
_Inserisci(punt->i, punt); // poi vedo dove deve essere inserito..
return(punt);
}

void AlberoBinario :: _Inserisci(const int t, Record*& p ) {
if( t > p->i ) {
if(p->dest==0) // se a destra non c'è niente..
p->dest = p; // collego il nuovo elemento all'albero..
else {
p=p->dest;
_Inserisci(t, p); // sul nodo ripeto le stesse operazioni precedenti
}
}

if( t < p->i ) {
if( p->sin==0 ) // se a sinistra non c'è niente
p->sin = p; // collego il nuovo elemento all'albero..
else {
p=p->sin;
_Inserisci(t,p); // sul nodo ripeto le stesse operazioni precedenti
}
}
}
Tra i membri privati della classe albero ho un puntatore ad un tipo che ho chiamato Record (impropriamente, visto che forse era + sensato chiamarlo nodo), cioè alla radice dell'albero.

Ho implementato in queso modo la procedura di inserimento di un elemento "in ordine", ma non sono sicuro che vada bene..
Potete dargli una occhiatina??

Grazie!!