首頁  >  文章  >  後端開發  >  PHP遞歸演算法簡化

PHP遞歸演算法簡化

韦小宝
韦小宝原創
2018-01-30 10:33:521455瀏覽

遞歸函數為自呼叫函數,在函數體內直接或直接自個呼叫自個,但需求設定自呼叫的條件,若滿意條件,則呼叫函數自身,若不滿意則停止本函數的自調用,然後把目前流程的主控權交回給上一層函數來履行,也許這麼給我們解說,仍是很難理解。

例如一下程式碼:

function test ($n){
    echo $n."  ";
    if($n>0){
        test($n-1);
    }else{
        echo "";
    }
    echo $n."  "
}
test(2)

這個例如終究的輸出結果是2 1 05fb6f3beb31540706eb26a1cd1069f9d0 1 2

##我解說下為何輸出是這麼的

第一步,履行test(2),echo 2,然後由於2>0,履行test(1), 後邊還有沒來得及履行的echo 2 

第二步,履行test(1),echo 1,然後由於1>0,履行test(0),相同後邊還有沒來得及履行的echo 1 
第三步,履行test(0),echo 0,履行test (0),echo 0, 此刻0>0的條件不滿意,不在履行test()函數,而是echo “”,並且履行後邊的echo 0

此刻函數現已不再調用自個,開端將流程的主控權交回給上一層函數來履行,也即是開端履行剛剛一切test()函數來得及輸出的最終一個echo,0的一層是1也即是輸出1 1的上一層是2 也也就是輸出2 2沒有山一層所以呢輸出的內容即是2 1 05fb6f3beb31540706eb26a1cd1069f9d0 1 2

相關閱讀:

php遞迴演算法

php遞迴演算法:php遞迴演算法PHP樹-不需要遞迴:/*** 建立父節點樹形

陣列* 參數* $ar 陣列......

php遞迴演算法PHP面試常用演算法

php遞迴演算法:php遞迴演算法PHP面試常用演算法...

php遞迴演算法基於PHP微信紅包的演算法探討

#php遞迴演算法:php遞迴演算法基於PHP微信紅包的演算法探討:突發奇想給校友微信群發了紅包,我設定紅包總額為10元,支援28個人隨機領取。 ....

以上是PHP遞歸演算法簡化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn