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 */ }