二叉树的生成

  使用系统;   使用System.Collections.Generic;   使用来;   使用text;   使用System.Threading.Tasks;   使用System.Collections.Generic;   名称空间ConsoleApplication4   {   类项目   {   静态void Main (string [] args)   {   personalInfo p1=new personalInfo (“1”,“1”);   personalInfo p2=new personalInfo (“2”,“2”);   personalInfo p3=new personalInfo (“3”,“3”);   personalInfo p4=new personalInfo (" ", " ");   personalInfo奔跑=new personalInfo (“31”、“31”);   personalInfo第9 -=new personalInfo (“32”,“32”);   personalInfo p33=new personalInfo (" ", " ");   personalInfo p321=new personalInfo (" ", " ");   personalInfo p311=new personalInfo (" ", " ");   personalInfo p21=new personalInfo (" ", " ");   personalInfo侯=new personalInfo(“11”、“十一”);   personalInfo p12=new personalInfo (" ", " ");   personalInfo p111=new personalInfo (" ", " ");   列表=new System.Collections.Generic.List ();   list.AddRange(新personalInfo [] {p1, p2, p3, p4、奔跑、第9,p33, p321, p311, p21,侯,p12, p111});   JiaPu j=new JiaPu(列表);   注意phead=零;   int指数=j.CreateTree (ref phead 0 13);   }   公共struct personalInfo   {   公共personalInfo(字符串名称字符串Id)   {   this.name=名称;   this.Id=Id;   }   公共字符串名称;   公共字符串Id;//Id为空或空,这意味着,没有人。   }   公开课笔记   {   公共personalInfo数据;   公众注意lChild rChild;   }   公开课JiaPu   {   列表的人;//整数指数=0;   公共JiaPu (人员名单)   {   this.persons=人;   }   公共int CreateTree (ref注意nNode, int指数,int长度)   {   如果(指数>=长度)   {   nNode=零;   返回索引;   }   如果(string.IsNullOrEmpty(人(指数).Id))   {   nNode=零;   返回索引;   }   nNode=new注意();   nNode.data=人(指数);      指数=CreateTree (ref nNode.lChild、+ +指数、长度);      指数=CreateTree (ref nNode.rChild、+ +指数、长度);   返回索引;   }   }      }   }


二叉树的生成