然后想要运用递归,最重重重要的口诀,要记住:
明确这个递归函数的作用(不需要写出具体代码)
找到递归结束条件
找出函数的等价关系式或最小递归模型
不要试图跟踪递归过程
----
下面通过运用口诀来解决由易到难的几道题来理解递归...我们有三个柱子和n个盘子,所以函数的定义应该是:void fun(int n, char a, char b, char c),a,b,c分别对应三根柱子。...当n等于1时,直接将盘子从A柱移到B柱即可,当n等于2时,如上图,需要三步,也是我们所寻找的最小递归模型,当n=2时
fun(n - 1, a, c, b);表示标记为为n-1盘,从A柱通过辅助柱C移动到...B柱
move(n, a, c);表示标记为n的盘,从A柱移动到C柱
fun(n - 1, b, a, c);表示标记为为n-1盘,从B柱通过辅助柱A移动到C柱
?...}
}
例子就举到这里,慢慢学习,你会发现递归是一个很神奇的东西,我这样平平的一个人都可以理解,我觉得你们都可以理解,而学习递归还有一个不得不提的一个名词叫迭代,关于迭代,后面再说。