易码技术论坛

 找回密码
 加入易码
搜索
查看: 354262|回复: 11

[讨论]函数的递归调用

[复制链接]
发表于 2005-8-2 03:05:00 | 显示全部楼层
间接的递归也支持?
发表于 2005-8-2 09:50:00 | 显示全部楼层
你是想说a调b,b调a吧?
当然支持!
LavaXIde3.1版支持函数声明,调用后定义的函数也可以了。
发表于 2005-6-19 23:50:00 | 显示全部楼层
不明白楼主的意思
典型的例子就是算阶乘
发表于 2005-6-20 18:18:00 | 显示全部楼层
unsigned long Factorial(unsigned int n)
{
   if (n>0)
   {
     return (unsigned long)(n*Factorial(n-1));
   }
   return 1;
}
发表于 2005-6-20 18:55:00 | 显示全部楼层
递归 的优点是写出来的代码明白易懂(在正确使用的前提下)。一般来说,一个递归的算法表示对应一个非递归的算法,像树的遍历,汉诺塔。但其非递归算法的代码可读性极差。

递归 的不足是相对非递归算法要消耗栈空间以及函数递归调用时所需时间,不过一般来说这个缺点影响不大。
发表于 2005-6-21 01:50:00 | 显示全部楼层
Lava上……还是把递归换成堆栈算法吧……有标准的转换公式,而且效率还要高一些,虽然写起来比较麻烦,但至少不会有什么恐怖的事情发生……
发表于 2005-7-18 22:18:00 | 显示全部楼层
LAVA都不支持递归算法吧。。
发表于 2005-7-19 09:05:00 | 显示全部楼层
LavaX自第一版就支持递归!
[em01]
发表于 2005-8-7 22:07:00 | 显示全部楼层
貌似递归次数多了就会死机的,难道是堆栈溢出?
发表于 2005-8-8 10:24:00 | 显示全部楼层
什么机器递归次数多了都会死机,因为再大的内存也是有限的,更何况wqx极其稀少的RAM。
发表于 2005-8-8 13:11:00 | 显示全部楼层
内存不够,堆栈满了。
 楼主| 发表于 2005-6-19 22:09:59 | 显示全部楼层 |阅读模式
这么长时间了,不管在哪里

我还没有用过一次函数的递归调用


不知道大家怎么认为呢?
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-7 11:21 , Processed in 0.010121 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表