したがって、この新しいノードは最後のノードの後に挿入されることになっています。なぜそれが起こらないのか理解できません。注:リストには、この関数が呼び出される前に複数の要素が含まれているため(約5)、現時点では、その場合にのみ機能する必要があります。最後のノードは最上位ノードを指し、top->prevポインターは最後のノードを指している必要があります。どこが間違っているのですか?ちなみに、print関数が呼び出されたときに最後のノードが印刷されないため、間違っていると思います
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;
}