以前学C时学过递归,但后来又有点模糊,今天从一个程序中重温了这个算法,若一个方法用了递归,且有个println在方法里,方法不停调用自己知道终止条件为止,不是每次调用都会println,而是把要println的东西堆积在那里,最后一起输出,第一次的println的东西在最底层。。。
以后可能继续补充
class RecTest{
int values[];
RecTest(int i){
values=new int[i];
}
void printArray(int i){
if (i==0) return;
else printArray(i-1);
System.out.println("["+(i-1)+"]"+values[i-1]);
}
}
class Recursion2{
public static void main(String args[]){
RecTest ob=new RecTest(10);
int i;
for(i=0;i<10;i++) ob.values[i]=i;
ob.printArray(10);
}
}
运行结果:
[0]0
[1]1
[2]2
[3]3
[4]4
[5]5
[6]6
[7]7
[8]8
[9]9