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();
       }
    }
    

  • Mod

    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?


Anmelden zum Antworten