using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace ConsoleApplication4
{
class Program
{
static 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 p31 = new personalInfo("31", "31");
personalInfo p32 = new personalInfo("32", "32");
personalInfo p33 = new personalInfo("", "");
personalInfo p321 = new personalInfo("", "");
personalInfo p311 = new personalInfo("", "");
personalInfo p21 = new personalInfo("", "");
personalInfo p11 = new personalInfo("11", "11");
personalInfo p12 = new personalInfo("", "");
personalInfo p111 = new personalInfo("", "");
List<personalInfo> list = new System.Collections.Generic.List<personalInfo>();
list.AddRange(new personalInfo[]{p1,p2,p3,p4,p31,p32,p33,p321,p311,p21,p11,p12,p111});
JiaPu j = new JiaPu(list);
note phead = null;
int index = j.CreateTree(ref phead, 0, 13);
}
public struct personalInfo
{
public personalInfo(string name, string Id)
{
this.name = name;
this.Id = Id;
}
public string name;
public string Id; // Id is empty or null, that means, no the person.
}
public class note
{
public personalInfo data;
public note lChild, rChild;
}
public class JiaPu
{
List<personalInfo> persons;
// int index = 0;
public JiaPu(List<personalInfo> persons)
{
this.persons = persons;
}
public int CreateTree(ref note nNode,int index, int length)
{
if(index>=length)
{
nNode= null;
return index;
}
if (string.IsNullOrEmpty(persons[index].Id))
{
nNode = null;
return index;
}
nNode = new note();
nNode.data = persons[index];
index = CreateTree(ref nNode.lChild, ++index, length);
index = CreateTree(ref nNode.rChild, ++index, length);
return index;
}
}
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。