二重リンクリストにノードの後に整数を挿入する関数があります。それはうまくコンパイルされます。しかし、2 4 6 8で作成されたDLLという二重リンクリストを使用してテストケースを実行し、4の後に5を挿入する関数を呼び出そうとすると、リンクされたリストに何も起こりません。私は理由を知らない。ノードを二重リンクリストに挿入する
void DoublyLinkedList::insertAfter(const DListNode &p, int newobj) {
DListNode *newNode = new DListNode(newobj);
DListNode *node = header.next;
while(node != &p) {
node = node->next;
}
node = node->next;
node->next->prev = newNode;
}
「何も起こりません」とは何ですか?期待される動作のテストケースをいくつか考え出し、ロジックがそれに対して働いていることを確認する必要があります。 – Nim