用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,好像还可以写的更少一些。
这个等以后再看看。

posted on 2004-02-27 21:30  一望无际的南  阅读(737)  评论(0编辑  收藏  举报

导航