我试图用一个公共交集节点创建两个链表。如我所见,这是LinkedList中寻找交叉点的一个非常热门的问题我已经编写了以下代码,但是它抛出了invalidooperationexception。
LinkedList<int> LL = new LinkedList<int>();
LL.AddFirst(5);
LL.AddFirst(4);
LL.AddFirst(3);
LL.AddFirst(2);
LL.AddFirst(1);
LinkedListNode<int> sectionNode = LL.Find(3);
LinkedList<int> LL2 = new LinkedList<int>();
LL2.AddFirst(100);
LL2.AddFirst(90);
LL2.AddFirst(80);
LL2.AddFirst(sectionNode);
有人能告诉我怎样用C#创建一个Y形的链表吗。
最佳答案
它不受支持节点跟踪其List
,您可以通过get-only属性访问它这意味着一个节点不能同时在两个列表中,并且只能通过删除然后添加来更改父列表。
这显然是为了保护人们不受错误的伤害,但它也使你想要的不可能实现注意,LinkedList
是双链接的,所以如果成功了,就必须任意选择List
和Previous
引用。
您可以使用(或编写)具有不同行为的第三方实现例如,this code实现一个单链表。节点没有对其包含列表的引用,因此y应该很好。