0
我想弄清楚这种方法如何可以用于反转链接列表。但我不知道这里发生了什么。我需要知道它是如何将指针切换到另一个方向的。感谢帮助。链接列表反转
void reverse(struct node** head_ref)
{
Node* prev = NULL;
Node* current = *head_ref;
Node* next;
while (current != NULL)
{
next = current->next;
current->next = prev;
prev = current;
current = next;
}
*head_ref = prev;
}
创建一个小链接列表,也许有3个元素。然后用调试器调用reverse()和单步调试,仔细注意发生的所有事情。 –
@MartinJames我试图通过使用图来切换指针。但搞砸了。 – 14K
翻转双向链表的重点是什么?事实上,大多数事情不应该被颠倒,因此C++的反向迭代器 – aaronman