圆形链表的深层副本

时间:2015-03-14 12:36:16

标签: c# circular-list

有人可以分享他们对如何在C#中进行深层复制循环链表的观点(可能的代码解释)吗?

基本上我正在寻找的是如何深度复制具有循环的循环单链表,然后对其进行深层复制...

我们有很少的算法可以识别链表中的循环,然后找出列表的头部。但之后我们如何从整个列表中分离出副本..

1 个答案:

答案 0 :(得分:0)

为什么不保留对您开始的第一个元素的引用,并将其用作副本的头部,并继续移动到'Next(),直到遇到相同的第一个元素?

将新链接列表的最后一个元素链接到第一个?

显然,对于每个元素,您都会执行由该类实现的某种DeepClone()