C#でLinkedListを複数の子を指すようにする方法はありますか?つまり、それをマルチウェイリンクリストにする方法はありますか?C#Multiway Linked List
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. Linked List Prints NULL - C++
- 2. linked list union
- 3. Shipyard system linked list python
- 4. dont work print linked list、node multidata
- 5. angularjs-linked linked divs
- 6. Filter List List by TextBox by C#
- 7. Localdb linked servers
- 8. C#:Generic List Property
- 9. c#generic list merge
- 10. class Edge List C++
返信ありがとうございます。私がこのアプローチを使用する場合、私はその子のリストしか保存できない場合、どのようにして 'parent'オブジェクトを保存するのですか? –
つまり、ノード '1'を持っていて、このノードのIDを保存したいのですが、保存できるものがすべてその子ノードのリストであればどうすればいいですか? –
さて、これは新しいことです!だから子供たちに加えていくつかのデータを保存したい。 OK。私はその答えに答えるために修正する! –