INSERIMENTO ALBERO void InsertABR(abr *p, tipobaseABR x){ if(!FullABR(*p)){ if(EmptyABR(*p)){ *p = (struct nodoABR *)malloc(sizeof(struct nodoABR)); (*p)->info = x; (*p)->leftchild = (*p)->rightchild = ALBEROVUOTO; }else if(Confronta((*p)->info, x) > 0) InsertABR(&(*p)->leftchild, x); else if(Confronta((*p)->info, x) < 0)) InsertABR(&(*p)->rightchild, x); } } INSERIMENTO ELEMENTO ALBERO GENERICO (RICORSIONE LEFTCHILD)
INSERIMENTO ELEMENTO ALBERO VUOTO FFOO
X = 17
30
p NULL FF00
*p AB00 AB00
47
20 FFOO
*p NULL NULL FF00
17 NULL NULL
42
70
X NULL NULL