codice:
struct nodo {
int inf;
struct nodo *alb_sin;
struct nodo *alb_des;
};
struct nodo *crea_nodo(struct nodo *p, int val)
{
if(p==NULL){ /*il punto di inserimento è stato reperito */
/* Creazione del nodo */
p = (struct nodo *) malloc(sizeof(struct nodo));
p->inf=val;
p->alb_sin = NULL;
p->alb_des = NULL;
}
else {
if(val > p->inf)
/* visita il sottoalbero destro */
p->alb_des = crea_nodo(p->alb_des, val);
else
if(val < p->inf)
/* visita il sottoalbero sinistro */
p->alb_sin = crea_nodo(p->alb_sin, val);
}
return(p); /* Ritorna il puntatore alla radice */
}