[C#开发实战]遍历森林查找一个节点
/**遍历森林查找一个节点
public static Region GetRegion(Region[] regions, string regionCode)
...{
if (regions != null && regions.Length>0) //深度不为0
...{
foreach (Region region in regions) //遍历森林的根节点
...{
if (region.Code == regionCode) //当前节点相等
...{
return region; //返回当前节点
}
else
...{
if (region.SubRegion != null && region.SubRegion.Length > 0) //包含子节点
...{
Region r= GetRegion(region.SubRegion, regionCode); //遍历当前节点的子节点
if (r != null) //如果从子节点找到
...{
return r; //返回节点
}
}
}
}
//遍历结束没找到,则返回空。
return null;
}
else
...{
//深度为0,返回空
return null;
}
}
//Region 类型。
public class Region
...{
private string nameField;
private string codeField;
private Region[] subRegionField;
/** <remarks/>
public string Name
...{
get ...{
return this.nameField;
}
set ...{
this.nameField = value;
}
}
/** <remarks/>
public string Code
...{
get ...{
return this.codeField;
}
set ...{
this.codeField = value;
}
}
public Region[] SubRegion ...{
get ...{
return this.subRegionField;
}
set ...{
this.subRegionField = value;
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Wgf2006/archive/2008/01/09/2032219.aspx