`
choelea
  • 浏览: 72753 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

迭代 与 递归

    博客分类:
  • Java
 
阅读更多

迭代是普通的循环。 例:求从1加到10 int sum=0 for(int i=0;i<= 10;i++){ sum=sum+i; } 递归是指一个函数直接或间接调用自己。 好比:从前有个庙庙里有个大和尚和小和尚,大和尚叫小和尚讲故事,小和尚说从前有个庙庙里有个大和尚和小和尚,小和尚叫大和尚讲故事,大和尚说从前.... 递归的特点: 必有三个条件: 1. 间接或直接调用自己。 2. 一定要有退出的条件(比方说大和尚口干了不听故事了)。否则就是死循环 3。要有逻辑体(想要做的事); public int sum(int x){ if(x<=0){ return x; } return x+sum(x-1); } int s=10; int total=sum(s); 该例中,sum函数总是调用自己,return x+sum(x-1); sum有退出条件, x<=0 最后的结果是把 10+9+8+7+... 1 返回 在很多种情况下,迭代和递归都可以完成相同的功能, 不过递归有些功能迭代就完成不了。 并且代码没有递归简洁,熟练使用递归后能提高代码质量。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics