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
scroll top