递归: 调用自己的编程方法,即是自己调用自己,A调用A,使用递归的时候需要注意的两点:
1, 必须在过程或是函数中调用自己
2,必须有递归出口来终止递归过程
迭代: 用原值推算出一个新值,即是A调用B
递归中一定有迭代,但是反之不成立,程序设计的时候优先考虑使用迭代,因为递归过程太多的话容易造成栈溢出。
比如1+2+........+n的和:
递归:
long sum(int n)
{
if (n>1)
return sum(n-1)+n;
else
return 1;
}
迭代:
long sum(int n)
{
int sum = 0;
int index;
for (index = 1; index <= n; index++)
s = s + index;
return sum;
}