gpt4 book ai didi

c++ - 双重列表复制构造函数 : How different is it from a Singly List Copy Constructor?

转载 作者:行者123 更新时间:2023-11-28 05:22:04 24 4
gpt4 key购买 nike

我刚刚完成了一个单列表复制构造函数的工作,现在我正准备制作一个双列表复制构造函数。谁能告诉我它与单列表构造函数有何不同,因为我在重新开始我的双向链表复制构造函数或复制我的单列表复制构造函数之间发生冲突。我该怎么办?

如果有帮助,这是我的单链表中的复制构造函数:

        List(const List &copying) : 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;
}

欢迎任何和所有输入。谢谢大家:-)

最佳答案

我认为您只需要存储前一个节点 (prv)。假设你的节点有 prv 作为数据成员。

List(const List &copying) : head(NULL)
{
Node* cur = copying.head;
int size = copying.size();
Node* end = NULL;
Node* prv = 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;
}
n->prv=prv;
prv=n;
cur = cur->next;
}
end->next = NULL;
}

关于c++ - 双重列表复制构造函数 : How different is it from a Singly List Copy Constructor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41296735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com