二重循環リンクリスト。新しいノードが挿入されません。C++
-
29-10-2019 - |
質問
したがって、この新しいノードは最後のノードの後に挿入されることになります。なぜそれが起こらないのかわかりません。注記:この関数が呼び出される前にリストには複数の要素 (約 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;
}
正しい解決策はありません
所属していません StackOverflow