ツリー構造の情報を作りたい
あるデータをツリー構造のデータを作ろうとしているのですが、
うまくロジックをくめずにおります。
イメージとしては
画像のようなA~Fのデータをツリーで持ちたく考えており、
データとしてA~Fをもつデータ配列と
矢印線のデータ配列があります。
A~Fのデータはそれぞれ、つながる線のデータをもち、
矢印線のデータは矢印の先にどのデータA~Fにつながっているかの情報を持っています。
図のように矢印のデータにIN、OUTがわかるようであれば若干楽になるのですが
それがない状態です。
A~FのデータはAがトップのデータであるということのみがわかるようなものになっています。
List<Item> items; A~Fのリスト情報
List<Arrow> arrows; 矢印線のリスト情報
public class Element
{
public int Id;
public int Parent;
public IList Children;
}
~~
ObservableCollection<Element> tree = new ObservableCollection<Element>();
Element element = new Element();
element.Id = items[0].Id;
itemsからA(トップ)の情報を取得し、つながるアイテムデータのリストを取得する
element.Childrenに取得したリストを設定
// ツリー情報にエレメントを追加
tree.Add(element);
つながるアイテムデータのリスト分、同じような処理をループして行うことになると思うのですが、どのようにメソッドを分けていいのかが整理できずにおります。
説明が下手で申し訳ないのですが、アドバイスいただけると助かります。