Salve a tutti,
Mi trovo a dover affrontare questo problema
Ho un albero binario di ricerca avente ogni nodo questi campi { stringa nome, int key }
Seguendo la normale ricerca di un ABR, dovrei cercare l'elemento facilmente confrontando la key di tutti i nodi partendo dalla radice, e pian piano scendere verso destra o sinistra.
In questo problema invece mi viene chiesto di cercare il nodo confrontando il nome del nodo.
Io ho optato per una visita InOrder, in modo che visitavo tt i nodi fino a giungere a qll interessato ma non funziona sempre...

codice:
Nodo* RBTree::SearchInOrder(Nodo *&x, string &v)
{
    if(x == Nil)  
    {
        x->valore = "";  
        return x;
    }

    SearchInOrder(x->right, v);  

    if(x->valore.compare(v) == 0)
    {
        return x;
    }

    SearchInOrder(x->left, v);    
}
Se avete qualke suggerimento, anke senza usare questa strada ma tutt'altro, ve ne sarei grato!


Ps. Come nodo di parametro viene data la radice