+ -
当前位置:首页 → 问答吧 → 关于递归 理解不能 求真相

关于递归 理解不能 求真相

时间:2011-08-28

来源:互联网

public void gui(int i){

if(i < 1){
return;

 
 
System.out.println("i== "+ i);
gui(i-1); 
gui(i-1);
}

打印结果:
i== 5
i== 4
i== 3
i== 2
i== 1
i== 1
i== 2
i== 1
i== 1
i== 3
i== 2
i== 1
i== 1
i== 2
i== 1
i== 1
i== 4
i== 3
i== 2
i== 1
i== 1
i== 2
i== 1
i== 1
i== 3
i== 2
i== 1
i== 1
i== 2
i== 1
i== 1

完全找不到规则  

如果只递归一个方法 就比较好理解

作者: hehesamalaile   发布时间: 2011-08-28

嗨!你只要知道有1个5,2个4,4个3,8个2和16个1,就行了。
次序是按深度优先展开的。

作者: xibeitianlang   发布时间: 2011-08-28

Delphi(Pascal) code
i== 5
i== 4                       i== 4
i== 3         i== 3         i== 3         i== 3
i== 2  i== 2  i== 2  i== 2  i== 2  i== 2  i== 2  i== 2
i== 1  i== 1  i== 1  i== 1  i== 1  i== 1  i== 1  i== 1
i== 1  i== 1  i== 1  i== 1  i== 1  i== 1  i== 1  i== 1

这样看就清楚了。

作者: xibeitianlang   发布时间: 2011-08-28