liste elemente hinten anhängen
-
hi ich versuch grad eine funktion zu schreiben, bei der man double's in einer liste hinten anhängen kann:
inline void insertback(ListElement*& l, double newDigit) { ListElement* lh = l; ListElement* lnew = new ListElement; while (lh->next != NULL) { lh = lh->next; } lnew->digit = newDigit; lnew->next = NULL; lh->next = lnew; }okay um sie vorne anzuhängen hab ich auch eine funktion
inline void inserttop(ListElement*& l, double newDigit) { ListElement* lnew = new ListElement; lnew->digit = newDigit; lnew->next = l; l = lnew; }problem ist, dass die insertbackfunktion nicht funktioniert.
ich habe ein array bsp. und übergebe die werte der funktion
bspfor(int i; i <= 10; i++){ insertback(liste, a[i]); }sowas in der art..
kann mir jmd sagen welchen fehler ich in der funktion habe?die liste printe ich anschließend mit:
void printList(ListElement* l) { ListElement* lh = l; while( lh != NULL) { cout << lh->digit << endl; lh = lh->next; } }naja ich hab soziemlich allen code gepostet, den ich hab, weiß nämlich echt nicht allmählich wo der fehler ist
lg
-
Was funktioniert denn genau nicht? Und wie initialisierst du list?
Und btw:
inserttop ist imo ein wenig unglückich gewählt. Top ist ja zu oberst und impliziert eigentlich hinten. Front wäre hier wahrscheinlich intuitiver.
-
hi
ja das problem ist, dass mein ganzer code mit inserttop gut funktioniert,
aber wenn ich in der for schleife inserttop zu insertback umwandle, funktioniert gar nix. d.h wenn ich meine liste ausgeben will über die printfunktion, dann erscheint einfach nix
ich hab einfach
ListElement* liste = NULL;
initialisiert
okay also ich weiß nicht, entweder der insertback ist richtig und ich brauch eine andere printfkt oder der insertback ist schon falsch
ich hab echt keine idee was das problem ist
-
Setz mal den Zeiger vor der Ausgabe auf das erste Element..
-
drakon schrieb:
Setz mal den Zeiger vor der Ausgabe auf das erste Element..
ist zwar des rätsels lösung, aber in meinen augen nur nen work-around:
inline void insertback(ListElement*& l, double newDigit) {=>
inline void insertback(ListElement* l, double newDigit) {bb