S-ar putea fi greșit, dar codul de pe site-ul de referință pare OK. Nu l-am testat, totuși.
Acest lucru este adevărat, pentru că funcția de ștergere ia un argument , care este de tip BSTNode ** nod. Acesta nu este un pointer la nodul. Acesta este un pointer la pointer nodului părintelui la nodul în sine . Acest lucru ar putea fi un pic neglijent, dar trebuie să recunosc , după realizarea ceea ce face codul, acesta este un elegant în soluția sa cale. Deci , atunci când rescrie (* nod), nu rescriu nodul în sine , în loc să te rescriu părinte al nodului de pointer la nodul . Efectiv codul este de a face ceea ce a sugerat într - o manieră ușor pervers: D. Sper ca ai inteles ce am vrut sa spun si sper ca am avut dreptate.
Mi - ar recomanda , de asemenea , să citiți mai multe despre copaci rosu-negru, deoarece acest articol oferă o perspectivă doar pentru a crea copac, dar structura descrisă nu are limite asimptotice pentru înălțimea sa. Dacă, de exemplu , vă împinge valori triate în această structură, acesta va fi o listă conectat în loc de un arbore echilibrat.