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