using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApp3
{
public class ThreeNode
{
public ThreeNode()
{
ChildList = new List<ThreeNode>();
ParentList = new List<ThreeNode>();
lujing = new List<string>();
}
public double value;
public List<string> lujing;
public string Sequence;
public List<ThreeNode> ChildList;
public List<ThreeNode> ParentList;
public double[] Probablity;
public bool IsLeaf;
public List<string> gellist()
{
List<string> newlist = new List<string>();
if (this.ChildList.Count > 0)
{
foreach (var item in this.ChildList)
{
newlist.AddRange(MultList(this.Sequence.ToString(), item.gellist()));
}
}
else
{
newlist.Add(this.Sequence.ToString());
}
this.lujing = newlist;
return newlist;
}
public List<string> MultList(string sequence, List<string> list)
{
List<string> newlist = new List<string>();
if (list.Count > 0)
{
foreach (var item in list)
{
newlist.Add(sequence + "," + item);
}
}
return newlist;
}
}
class Program
{
public List<string> AddList(List<string>list1,List<string> list2)
{
List<string> newlist = new List<string>();
newlist.AddRange(list1);
newlist.AddRange(list2);
return newlist;
}
static void Main(string[] args)
{
ThreeNode root = new ThreeNode() { Sequence = "0" };
var t11 = new ThreeNode() { Sequence = "11" };
var t12 = new ThreeNode() { Sequence = "12" };
var t13 = new ThreeNode() { Sequence = "13" };
root.ChildList.Add(t11);
root.ChildList.Add(t12);
root.ChildList.Add(t13);
var t21 = new ThreeNode() { Sequence = "21" };
var t22 = new ThreeNode() { Sequence = "22" };
var t23 = new ThreeNode() { Sequence = "23" };
var t24 = new ThreeNode() { Sequence = "24" };
t11.ChildList.Add(t21);
t11.ChildList.Add(t22);
t11.ChildList.Add(t23);
t12.ChildList.Add(t22);
t12.ChildList.Add(t23);
t12.ChildList.Add(t24);
t13.ChildList.Add(t22);
t13.ChildList.Add(t23);
t13.ChildList.Add(t24);
var t31 = new ThreeNode() { Sequence = "31" };
var t32 = new ThreeNode() { Sequence = "32" };
var t33 = new ThreeNode() { Sequence = "33" };
var t34 = new ThreeNode() { Sequence = "34" };
var t35 = new ThreeNode() { Sequence = "35" };
t21.ChildList.Add(t31);
t21.ChildList.Add(t32);
t21.ChildList.Add(t33);
t22.ChildList.Add(t32);
t22.ChildList.Add(t33);
t22.ChildList.Add(t34);
t23.ChildList.Add(t33);
t23.ChildList.Add(t34);
t23.ChildList.Add(t35);
t24.ChildList.Add(t33);
t24.ChildList.Add(t34);
t24.ChildList.Add(t35);
root.gellist();
Console.WriteLine("Hello World!");
Console.Read();
}
}
}