有没有办法让C#中的LinkedList指向多个子元素,而不仅仅是一个?即是否有办法将其变成多路链接列表?C#多路链接列表
Q
C#多路链接列表
0
A
回答
2
您需要创建列表的列表:
LinkedList<LinkedList<int>> l = new LinkedList<LinkedList<int>>();
但是,这取决于你的具体问题。
如果你想拥有超过您要存储,您应该创建自己的数据结构和存储在列表中哪些更多的控制:
public class MyNodeData
{
public MyNodeData()
{
Children = new LinkedList<MyNodeData>();
}
public MyNodeData(int i, string s)
: this()
{
MyInt = i;
MyString = s;
}
public int MyInt { get; set; }
public string MyString { get; set; }
public LinkedList<MyNodeData> Children { get; private set; }
}
这仅仅是一个样品,你我定义的任何属性任何类型的任何所需的名称。
然后添加数据:
LinkedList<MyNodeData> l = new LinkedList<MyNodeData>();
var d = new MyNodeData();
d.MyInt = 10;
d.MyString = "Node message";
d.Children.AddLast(new MyNodeData(11, "Child 1 message"));
d.Children.AddLast(new MyNodeData(12, "Child 2 message"));
l.AddLast(d);
Console.WriteLine(l.First.Value.MyString);
Console.WriteLine(l.First.Value.Children.Last.Value.MyInt);
2
您所描述的是一个图形或一个树形数据结构。我认为实现这个最明确的方法是创建自己的数据结构,如节点。您可能需要在此处阅读更多图表:http://en.wikipedia.org/wiki/Graph_(abstract_data_type)。
相关问题
- 1. C++链接列表
- 2. C++链接列表
- 3. C中的多个链接列表
- 4. c/C++链接列表
- 5. C#排序链接列表
- 6. C++上的链接列表
- 7. 链接列表错误,C++
- 8. 链接列表C错误
- 9. 通用C++链接列表
- 10. 链接列表排序C
- 11. 打印链接列表 - C++
- 12. 链接列表头C++
- 13. C编程:链接列表
- 14. 链接列表问题C++
- 15. C++链接列表行为
- 16. C++链接列表返回
- 17. 链接列表崩溃,c
- 18. 操作c/C++中的链接列表
- 19. 链接列表阵列Trouble C++
- 20. 使用链接列表IN表示并排序多项式C
- 21. 将列表连接到一个列表中,并在c(链接列表的链表中)中列出列表
- 22. 链接列表
- 23. 链接列表
- 24. 多链接队列
- 25. 列表和链接列表
- 26. 合并2个链接列表并追加到链接列表的末尾C++
- 27. 将元素添加到链接列表中的链接列表中C
- 28. 过滤器链接列表并返回新的链接列表C
- 29. C数组链接列表,将数组链接列表分配给另一个
- 30. C++深度复制链接列表
感谢您的回复。如果我使用这种方法,如果我只能存储其子项列表,我将如何存储“父”对象? – 2012-03-17 11:29:32
换句话说,如果我有一个节点'1',并且我想存储这个节点的ID,那么如果我可以存储的所有内容都是一个包含它的子节点的列表,我该怎么做? – 2012-03-17 11:30:08
嗯,这是一件新事物!所以你想要存储除了孩子以外的一些数据。好。我修改答案来解决这个问题! – 2012-03-17 11:40:55