郝斌数据结构入门--P50--递归
定义:
一个函数自己直接或间接调用自己。
举例:
1、求阶乘
#include <stdio.h>
//假定n的值是1或大于1的值
long f(long n)
{
if (1 == n)
return 1;
else
return f(n-1) * n;
}
int main(void)
{
printf("%d\n", f(5));
return 0;
}
2、1+2+3+4+...+100的和
#include <stdio.h>
long sum(int n)
{
if (1 == n)
return 1;
else
return n + sum(n-1);
}
int main(void)
{
printf("%ld\n", sum(100));
return 0;
}
3、汉诺塔
4、走迷宫
本文深入讲解了递归算法的基本概念及应用,通过求阶乘、求和等经典问题的实例演示了递归函数的设计与实现过程,同时提到了更复杂的汉诺塔和迷宫问题,适合初学者理解递归思想。
281

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



