我有一个函数在双链表中的一个节点之后插入一个整数。它编译得很好。然而,当我用一个测试用例使用一个称为DLL的双向链表(它由2 4 6 8填充)并尝试调用该函数在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