可能理解它的最佳途径是接触一个实际的例子,我们需要一个递归函数。
当我们将循环转化为递归函数时,递归调用是函数所做的最后一件事情。
让我们来研究一个打印报表的常见循环,了解如何将它转化为一个递归函数。
我们的下一个基于列表的递归函数示例要稍微复杂一些。
编写这种递归函数需要执行的步骤如下所示,清单3给出了这个函数的源代码。
之所以需要这么做是因为参数会在递归函数调用上被截断,而以后却还需要访问它。
然而,为清楚起见,没有将下面的示例创建为递归函数。
有人用阶乘描述它,而我们将使用更简单的递归函数--对一个列表求和。
Recursion是序列图中一种用来表示递归函数消息的类型。
main是一个递归函数,它用current参数接受一个节点集并遍历该节点集。
必须分别循环访问每个容器控件的控件;可使用递归函数完成此操作。
在这个程序中,所有状态改变都是通过使用完全前后一致的数据重新运行递归程序而实现的。
然后程序以列表中的第一项及其余部分列表为种子开始递归函数。
这是一个递归函数,可以删除一个目录中的所有文件和目录,欲删除的目录作为一个命令行参数给出。