Ciao a tutti, sono nuovo e spero che mi aiutate a trovare il problema!
Sto impazzando dietro a questo problema, io passo un BST alla funzione la quale deve trovarmi il nodo che contiene una chiava, il problema è che quando trova il nodo mi restitusice il nodo a NULL anche se appena prima del retrun la variabile Tmp di tipo NODO contiene esattamente l'indirizzo che contiene la chiave.
Ciò che non capisco è perche ritorna NULL al posto del valore trovato!
Cosa ho sbagliato ??? perche non mi fa ritornare il puntatore a cui sono arrivato ???
Grazie mille in anticipo! ciao
codice:NODE *BstVisitInOrder(BST *B,char *cmp) { NODE *K; K = _BstVisitInOrder(B->root,cmp); printf("%s\n",K->info); return (K); } NODE *_BstVisitInOrder(NODE *Tmp,char *cmp) { if(Tmp==0) return NULL; if(strcmp(Tmp->info,cmp)==0) return (Tmp); _BstVisitInOrder(Tmp->sx,cmp); printf("%s\n",Tmp->info); _BstVisitInOrder(Tmp->dx,cmp); }

Rispondi quotando