2 Listen Zusammenführen
-
Hallo!
Ich muss 2 Listen zusammenfügen, aber irgendwie komme ich immer in eine Endlosschleife ... hoffe ihr könnt mir helfen!
Danke schonmal im voraus! gruß karsten#ifndef _List_h #define _List_h #include "Node.h" class List{ private: Node* anchor; Node* act; public: List(); //anchor List(Node*); void appendNode(Node*); //list to append void appendList(List); void deleteAnchor(); //anchor void setAnchor(Node*); Node* getAnchor(); void print(); }; #endif /*_List_h*/void List::appendList(List l){ while(l.getAnchor() != NULL){ //this->act->print(); this->act->setNext(l.getAnchor(), 0); this->act=this->act->getNext(); l.deleteAnchor(); l.print(); } }Node* List::getAnchor(){ return this->anchor; }void Node::setNext(Node* n, int pos){ this->next[pos] = n; }Node* Node::getNext(){ return this->next[0]; }void List::deleteAnchor(){ Node* help = this->anchor->getNext(); this->anchor = NULL; this->anchor = help; }void List::print(){ Node* help = this->anchor; while(help != NULL){ help->print(); help=help->getNext(); } }
-
Da fehlen schonmal mindestens ein eigener, sinnvoll definierter Destruktor, Kopierkonstruktor und Zuweisungsoperator. Ohne die macht es keinen Sinn, Fehler zu Suchen, weil nicht einmal die Grundfunktionalität gegeben ist.
Weiterhin: Du bist dir im klaren, dass es eine fertige Liste in der Standardbibliothek gibt, die viel besser ist als alles was du selber jemals programmieren wirst?