PHP數據結構問題->遞歸實現漢羅塔

<?php
/*************** 開篇告誡,初學者**********************************
**************** 對數據結構有興趣朋友******************************
* 必需要有比較好的C語言基礎主要是指針這塊知識,必需要理解指針******
* 我寫的PHP都是從C語言的數據結構中演化而來************************
* 有興趣的同窗能夠去能夠重新學習一下C語言 與數據結構***************
* 說實在的php編程乃至java等的一些語言來講**************************
* 你不會數據結構也沒什麼*******************************************
* 可是你永遠成不了真正的編程高手,之後工做基本上都是低端編程,*****
* 因此告誡初學者,要好好學習一下C語言中指針與數據結構**************
*******************************************************************
**********對下面程序有什麼好的建議朋友或者是不懂的同窗*************
********************能夠Email聯RenMengYangIT@163.com***********
*******************************************************************/

/***  
* 1若是是一個盤子 將 A 柱子上的盤子移動到 C;  A:C
*  若是不是那麼就 
* 1.1將 A 柱子上的n-1個盤子藉助C移動到 B;      A:B
* 1.2而後把 A 柱子上 第N個盤子移動到C ;        A:C  
* 1.3最後再把 B上的N-1個盤子藉助A移動到C;      B:C
* @Author 任孟洋 
* @time   2013-8-10
*
***/


 header("Content-Type:text/html;charset=utf-8;");

 function hannuota($n,$A,$B,$C){

     if($n == 1)
     {
        echo '將編號爲'.$n.'的盤子從'.$A.'柱子---'.$C.'柱子<br/>';
     }
     else
     {
                
        hannuota($n-1,$A,$C,$B);
         echo '將編號爲'.$n.'的盤子從'.$A.'柱子---'.$C.'柱子<br/>';
        hannuota($n-1,$B,$A,$C);
     }
 } 

//調用
hannuota(3,'A','B','C');
相關文章
相關標籤/搜索