以前学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
博主回顾了C语言中的递归算法,通过一个程序示例展示其特点。若方法使用递归且包含println,会将待输出内容堆积,最后一起输出,首次println内容在最底层。文中给出了具体代码及运行结果。

被折叠的 条评论
为什么被折叠?



