5
我正在研究數據結構和鏈表,但我沒有得到如何製作鏈表的副本的概念。有人可以解釋這一點,可能使用僞代碼或C代碼?如何將鏈表複製到另一個列表中?
我正在研究數據結構和鏈表,但我沒有得到如何製作鏈表的副本的概念。有人可以解釋這一點,可能使用僞代碼或C代碼?如何將鏈表複製到另一個列表中?
用於複製一個鏈表的邏輯是遞歸併且基於以下觀察:
如果您在編碼C++的鏈表,這可能是非常乾淨:
struct Node {
int value;
Node* next;
};
Node* Clone(Node* list) {
if (list == NULL) return NULL;
Node* result = new Node;
result->value = list->value;
result->next = Clone(list->next);
return result;
}
您知道如何將新節點添加到現有列表嗎?你知道如何遍歷(即迭代)列表嗎?複製列表只是同時執行這兩個操作(遍歷ListA;對於每個元素,複製元素並將其作爲新節點添加到ListB)。
這確實是一個不錯的一段代碼! – LunaticSoul 2015-09-14 01:23:24