Ciao a tutti...stavo cercando di fare un esercizio sulla gestione di un albero dinario di ricerca...e devo svolgere le operazioni fondamentali tipo la ricerca del successore o del predecessore...adesso io ho studiato la teoria e ho capito che per il successore di un nodo X bisogna trovare il minore tra i nodi maggiori di X...ovvero basta scendere una vota sul nodo di destra (nodo Y ) e poi andare infondo a sinistra...ovvero cercare il minimo sul nodo Y...però se io dovessi cercare il successore di una foglia...come procedo?

posto qua il codice che ho provato ad implementare per la ricerca del successore dato il puntatore al nodo X:
codice:
/*RICERCA SUCCESSORE*/
item_val search_succ ( item_bst* p, item_val val )
{
    if ( !p->rigth ) 
         return search_min ( p->right );
}
/*RICERCA VALORE MIMIMO*/
item_val search_min ( item_bst* top )
{
    if ( !top->left ) return top->v;
    return search_min ( top->left );
}