递归

2018-05-12  本文已影响0人  _浅陌

一个方法,自己调用自己,用上一次调用得出的结果作为这次的参数。

函数被调用还未结束时再调用函数,则会保存当前状态,入栈,一次类推。当最后一个函数执行完后,倒数第二个函数出站,再与倒数第一个函数的结果进行计算,一次类推。

递归其实就是一个栈,比如求5的阶乘:要知道5的阶乘,就需要知道4的阶乘,要知道4的阶乘,又要知道3的阶乘,一次类推。所以递归就先把5的阶乘表示入栈,在把4的入栈,直到最后一个,之后呢在从1开始出栈。

f(n) {

if(n == 0 || n == 1) {

    return 1

} else {

    return n*f(n-1)

}

}

上一篇 下一篇

猜你喜欢

热点阅读