递归: 调用自己的编程方法,即是自己调用自己,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; }