简单通俗的话来说
自己调用自己
每一个递归都有入口 和 出口
每一操作都有自己的规律
制定好自己的规定 让它去执行
每执行一次 都把数据压入栈区中,但是也不像其他的入栈。
它会把 栈名和值 一起作为 这个刚被开辟的栈名,
第二次 等等 等等 假如都是一个栈名,它在之前开启的栈中 在 开辟 入栈
当出的时候 会先出 后进的 一次出栈
例子:
for 循环的乘法表
for($i=1;$i<=9;$i++){
for($j=1;$j<=$i;$j++){
echo $i."*".$J." ";
}
echo "</br>";
}
如果 $j!=1; $j=$i; 就会倒过来
根据以上 得出 规律
正
function ddd($n){
if($n<10){
for($j=1;$j<=$n;$j++){
echo $n."*".$J." ";
}
}
echo "</br>";
ddd($n+1);
}
ddd(1);
反
function ddd($n){
if($n<10){
for($j=$n;$j<=9;$j++){
echo $j."*".$n." ";
}
}
echo "</br>";
ddd($n+1);
}
ddd(1);
自己调用自己
每一个递归都有入口 和 出口
每一操作都有自己的规律
制定好自己的规定 让它去执行
每执行一次 都把数据压入栈区中,但是也不像其他的入栈。
它会把 栈名和值 一起作为 这个刚被开辟的栈名,
第二次 等等 等等 假如都是一个栈名,它在之前开启的栈中 在 开辟 入栈
当出的时候 会先出 后进的 一次出栈
例子:
for 循环的乘法表
for($i=1;$i<=9;$i++){
for($j=1;$j<=$i;$j++){
echo $i."*".$J." ";
}
echo "</br>";
}
如果 $j!=1; $j=$i; 就会倒过来
根据以上 得出 规律
正
function ddd($n){
if($n<10){
for($j=1;$j<=$n;$j++){
echo $n."*".$J." ";
}
}
echo "</br>";
ddd($n+1);
}
ddd(1);
反
function ddd($n){
if($n<10){
for($j=$n;$j<=9;$j++){
echo $j."*".$n." ";
}
}
echo "</br>";
ddd($n+1);
}
ddd(1);