用c# 写一个递归程式
今天看见一个xsl利用递归的模板将一个xml文件生成一个叉树结构,很是佩服。
想用c#写一个同样的东西,可惜当初没有学过什么数据结构,不是很清楚到底怎么作?
没有办法,化了一个下午看资料,有个网站写的比较详细,是教育网的,可惜写东西的时候没有记住网址。
按照自己的理解,写了一个很垃圾的递归程式,
using System;
class myclass{
public static string[] slist;
public static void digui(string id)
{
for(int i=0;i<slist.Length;i++)
{
if(id==slist[i]) System.Console.Write("<div>"+id+"\n");
int j=id.Length;
if (id.Length<=slist[i].Length)
if ((slist[i].Substring(0,id.Length)==id)&&(slist[i].Length-id.Length==2))
{
// System.Console.Write("checkpoint \n");
digui(slist[i]);
System.Console.Write("</div>");
}
}
}
public static void Main(string[] args) {
slist=new string[8];
slist[0]="01";
slist[1]="0101";
slist[2]="010101";
slist[3]="0102";
slist[4]="010102";
slist[5]="01010101";
slist[6]="010201";
slist[7]="01020102";
digui("01");
}
}
结果生成的效果跟那个递归模板是一样的。
不过,我觉得我用的步数是8×8,好像还可以写的更少一些。
这个等以后再看看。