有沒有辦法讓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/C++中的多重鏈接列表
- 2. C - 鏈接列表
- 3. C++鏈接列表
- 4. C++鏈接列表
- 5. 帶多文件的C++鏈接列表
- 6. C中的多個鏈接列表
- 7. 鏈接多個列表框c#
- 8. c/C++鏈接列表
- 9. 加倍鏈接列表C++
- 10. 鏈接列表頭C++
- 11. 指針鏈接列表C
- 12. C通用鏈接列表
- 13. 鏈接列表操作C++
- 14. 鏈接列表排序C
- 15. 鏈接列表問題C++
- 16. 通用C++鏈接列表
- 17. C++鏈接列表行爲
- 18. 鏈接列表錯誤,C++
- 19. C++鏈接列表混淆
- 20. C++上的鏈接列表
- 21. C#排序鏈接列表
- 22. 鏈接列表錯誤 - C
- 23. 打印鏈接列表 - C++
- 24. C++中的鏈接列表
- 25. C中的鏈接列表
- 26. 鏈接列表崩潰,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