Zeigerproblem
-
Folgendes Problem
es habdelt sich um einen binären Bauminsert: übernimmt einen Wert und startet rec_insert, dabei übergibt es auch noch die wurzel
rec_insert ordnet die Elemente an und erzeugt neue Knoten
Problem: rec_insert übernimmt nen Knoten, am Anfang die Wurzel und soll einen Wert einfügen. Leider schaffe ich es nicht die Adresse der Wurzel zu übergeben und somit wird immer eine Kopie erzäugt was dazu führt das die Wurzel nach verlassen der rec_insert Funktion immer leer ist.
Kann mit da einer helfen wie der Kopf der Funktion denn nun aussehem müsste?
Knoten *wurzel; void insert(int i) { rec_insert(i,wurzel); } void rec_insert(int i, Knoten *k) { if(k == NULL) { k = new Knoten(i); return; } else if(k->getDaten() < i) rec_insert(i,k->links); else if(k->getDaten() > i) rec_insert(i,k->rechts); if(k->getDaten() == i) k->setAnzahl(); }
-
-
TGGC schrieb:
Kann mit da einer helfen
Der Debugger könnte dir evtl. helfen.
der hat mir ja geholfen...ich weis das es ne kopie gibt...aber ich weis nicht wie ich die Zeiger richtig setzen muss um wirklich jetzt den übergebenen Wert zu ändern und nicht ne Kopie davon
-
Ich denke, was du brauchst ist eine Referenz auf Zeiger.
Somit wird nicht der Zeiger kopiert.Beispiel
void rec_insert(int i, Knoten*& k) {}
-
hat sich erledigt
void rec_insert(int i, Knoten **k) { if((*k) == NULL) { (*k) = new Knoten(i); return; } else if((*k)->getDaten() > i) rec_insert(i,&(*k)->links); else if((*k)->getDaten() < i) rec_insert(i,&(*k)->rechts); if((*k)->getDaten() == i) (*k)->setAnzahl(); }
man bin ich froh das es Sprachen wie C# gibt
-
man bin ich froh das es Sprachen wie C# gibt
Was hat Zeiger auf Zeiger mit C# zu tun?
Schau dir mal mein Beispiel ein Post weiter oben an.
Du sparst dir sehr viele Sternchen.
-
ChrissiB schrieb:
man bin ich froh das es Sprachen wie C# gibt
Was hat Zeiger auf Zeiger mit C# zu tun?
da gibts keine zeiger sondern nur das schlüßelwort "ref"...man kann die welt schön sein
EDIT: Danke für den Tipp Chris...das das auch so geht hab ich garnicht gewusst
-
nur das schlüßelwort "ref"...man kann die welt schön sein
und was ändert das? was hilft es dir?
-
hmmmmmmm schrieb:
nur das schlüßelwort "ref"...man kann die welt schön sein
und was ändert das? was hilft es dir?
ich persönlich kann damit viel besser umgehen. es ist auf anhieb verständlich