码迷,mamicode.com
首页 > 其他好文 > 详细

案例------递归调用

时间:2014-05-01 22:32:03      阅读:570      评论:0      收藏:0      [点我收藏+]

标签:style   strong   int   数据   代码   mil   第一个   算法   static      return   

1  什么是递归:

实现某些功能不用递归可能要几十行代码,用递归可能几行就搞定了,而且代码清晰简洁。一直以为递归也就是自己调用自己,有一个出口条件,让他停止递归,退出函数,其实的特点并非就这些。

递归还有一个非常重要的特点:先进后出,跟栈类似,先递进去的后递出来。由于递归一直在自己调用自己,有时候我们很难清楚的看出,他的返回值到底是哪个,只要你理解了先进后出这个特点,你就会明白,第一次调用时,作为返回值的那个变量的值就是递归函数的返回值。先进后出吗,他是第一个进来,也就是最后出去的那个,当然就是递归的返回值啦。

 

 

1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现

解剖递归算法

猛一看这一串数据还真看不出来个啥,但是只要你认真查找,就能看出规律。

从上面可以看出前两个数相加得到第三个数。

public static int SuanFa (int i)
        {
             if(i>0)
              {
                  if (1 >= i || i <= 2)

                      return 1;

                   if(i>2)

                      return SuanFa(i-1) + SuanFa(i-2);

              }
              else

                 return 0;

        }

案例------递归调用,码迷,mamicode.com

案例------递归调用

标签:style   strong   int   数据   代码   mil   第一个   算法   static      return   

原文地址:http://www.cnblogs.com/liupengfei19940119/p/3703124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!