实际上,迭代与递归都是属于循环的一种。
简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。从以下两组代码中可以看出迭代与递归的区别:
递归方法:
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 }
时间: 2024-10-31 14:20:42