Potrei sbagliarmi, ma il codice sul sito di riferimento sembra OK. Non ho ancora testato, però.
Questo è vero, poiché la funzione di eliminazione prende un argomento che è di tipo BSTNode ** nodo. Questo non è un puntatore al nodo. Questo è un puntatore al puntatore del nodo del genitore per il nodo stesso . Questo potrebbe essere un po 'sciatto, ma devo ammettere dopo aver capito che cosa fa il codice, è un elegante nella sua soluzione di modo. Così, quando si riscrivono (* nodo), non si sta riscrivendo il nodo in sé , invece si stanno riscrivendo del genitore del nodo puntatore al nodo . Effettivamente il codice sta facendo quello che avete suggerito in un modo un po 'perverso: D. Spero di aver capito quello che volevo dire e spero ho capito bene.
Io consiglio anche di leggere ulteriormente circa alberi rosso-neri, dal momento che questo articolo fornisce una visione solo per creare l'albero, ma la struttura descritta non ha limiti asintotica per la sua altezza. Se, ad esempio, si preme valori ordinati in questa struttura, sarà una lista collegata al posto di un albero bilanciato.