Excaliburer`s Zone

It was challenging, but not risky.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 实际上,迭代与递归都是属于循环的一种。

简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。从以下两组代码中可以看出迭代与递归的区别:

递归方法:

int func(int n)  
{  
    if(n > 1)  
       return n+func(n-1);  
    else   
       return 1;  
}  

迭代方法(注意与普通循环的区别):

1 int func(int n)  
2 {  
3     int i,s=0;  
4     for(i=1;i<n;i++)  
5        s+=i;  
6     return s;  
7 }  

 

posted on 2015-03-12 13:20  Excaliburer  阅读(573)  评论(0编辑  收藏  举报