递归:程序调用自身的编程技巧。
1)反复执行,调用自身
2)有跳出反复执行过程的条件(递归出口)
递归例子
(1)阶乘
int recursive(int i){
int sum=0;
if(i==0){
return 1;
}else{
sum = i*recursive(i-1);
}
return sum;
}
(2)河内塔
void hanoi(int n,int p1,int p2,int p3)
{
if(1==n)
System.out.println("盘子从"+p1+"移动到了"+p3);
else
{
hanoi(n-1,p1,p3,p2);
System.out.println("盘子从"+p1+"移动到了"+p3);
hanoi(n-1,p2,p1,p3);
}
}