我剛剛完成了單列表副本構造函數的工作,現在我正在製作一個雙列表副本構造函數。任何人都可以告訴我它與單列表構造函數有什麼不同,因爲我在重新啓動我的雙鏈表副本構造函數或複製我的單列表副本構造函數之間存在衝突。我應該怎麼做呢?雙列表複製構造函數:與單列表複製構造函數有什麼不同?
如果有幫助,這裏是從我的單鏈表我的拷貝構造函數:
List(const List ©ing) : head(NULL)
{
Node* cur = copying.head;
int size = copying.size();
Node* end = NULL;
for(int q = 0; q < size; q++)
{
Node* n = new Node;
n->value = cur->value;
if (head == NULL)
{
head = n;
end = head;
}
else
{
end->next = n;
end = n;
}
cur = cur->next;
}
end->next = NULL;
}
任何和所有的投入是值得歡迎的。謝謝大家:-)
如果您從空列表複製,您的單鏈表副本構造函數將炸燬。鏈表首要規則:永遠不要有特殊情況。 (Node * cur = copying.head; cur; cur = cur-next){Node * n = new Node(cur-> value);節點**目標= &head; * target = n; target =&(n-> next); } * target = nullptr;' –
「爆炸」意味着什麼意味着@MartinBonner?我實際上是新來的編程在c + +。 –
@PeterG該鏈接不是複製構造函數。我檢查過它,但它沒有回答我關於複製鏈接列表的複製構造函數的查詢。 –