用c# 寫一個遞迴程式

來源:互聯網
上載者:User

今天看見一個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,好像還可以寫的更少一些。
這個等以後再看看。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.