Elenco collegato doppiamente circolare.Nuovo nodo non inserito.C++
-
29-10-2019 - |
Domanda
Quindi questo nuovo nodo dovrebbe essere inserito dopo l'ultimo nodo.Non riesco a capire perché ciò non accada.Nota:L'elenco ha più elementi prima che venga chiamata questa funzione (circa 5), quindi per ora deve funzionare solo in quel caso.L'ultimo nodo dovrebbe puntare al nodo superiore e il puntatore top->prev dovrebbe puntare all'ultimo nodo.Dove ho sbagliato?Suppongo che sia sbagliato comunque perché l'ultimo nodo non viene mai stampato quando viene chiamata la funzione di stampa
void CircularDLL::insertAfterLast (int id, string name, string email, int age)
{
Node* N=new Node;
N->stId=id;
N->stName=name;
N->stEmail=email;
N->stAge=age;
Node* Q=top;
while(Q->next!=top)//get to the last node
{
Q=Q->next;
}
cout<<"Q next is top now"<<endl;
Q->next=N;
N->prev=Q;
N->next=top;
top->prev=N;
}
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow