双重列表复制构造函数:与单一列表复制构造函数有何不同
Doubly List Copy Constructor: How different is it from a Singly List Copy Constructor?
我刚刚完成了单个列表复制构造函数的工作,现在我要制作双重列表复制构造函数。谁能告诉我它与单个列表构造函数有多大不同,因为我要重新启动我的双重链接列表复制构造函数或复制我的单列列表复制构造函数之间的矛盾。我应该怎么做?
如果有帮助,这是我的单链接列表中的复制构造函数:
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;
}
欢迎任何输入。谢谢大家: - )
我认为您只需要存储以前的节点(prv)即可。假设您的节点将PRV作为数据成员。
List(const List ©ing) : 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++完全复制要字符串的字符列表,而不会忽略多个空格
- 如何将列表从一个类复制到另一个类
- 如何在向量列表初始化时避免对象复制以及如何延长临时的生存期
- 如何在不复制列表的情况下将列表传递给线程,同时销毁原始列表
- 复制列表并返回指向第二个列表的指针
- 直接列表初始化和复制列表初始化之间的差异
- 复制列表类的构造函数,而无需在实现中使用任何方法
- 不可复制类型的复制列表初始化
- 在带有转换运算符的初始值设定项的情况下,复制列表初始化的假定行为是什么
- 复制列表初始化和传统复制初始化之间的任何区别
- 为什么标准区分直接列表初始化和复制列表初始化?
- 使用随机指针C 复制列表
- 如何复制列表矢量
- 允许复制列表初始化和显式构造函数
- 复制列表初始化是否在概念上调用复制 ctor
- 复制列表时光荣崩溃
- 为什么我的复制列表初始化停止工作后,我添加继承