有沒有什麼辦法可以反轉鏈接列表,而不使用C中的臨時變量? 在此先感謝。鏈接列表反向沒有臨時
著名的辦法:
Element *reverse(Element *head)
{
Element *previous = NULL;
while (head != NULL) {
// Keep next node since we trash
// the next pointer.
Element *next = head->next;
// Switch the next pointer
// to point backwards.
head->next = previous;
// Move both pointers forward.
previous = head;
head = next;
}
return previous;
}
使用臨時變量
SAURABH
如何遞歸呢? – 2012-01-11 22:24:46
遞歸是一種騙局,因爲參數本質上是臨時變量。 – 2012-01-11 22:35:50
同意,但這通常是像這個一樣的語義呃問題。 – 2012-01-11 22:37:12