递归之个人理解

2014-11-24 02:50:13 · 作者: · 浏览: 0
容我不一定科学的解释:

递归点以上至函数头,相当于队列。
递归点以下至函数尾,相当于栈。

每次递推的过程,就是“以上部分”不断地进队与出队。
和”以下部分“不断地压栈。

当遇到基线条件时,递推终止。

回归的过程,就是把栈中部分,不断出栈。


void f(int n)
{
    if (n < 0)    return;    //base condition
    printf("%d ", n);       //queue
    f(n-1);                //recursive point
    printf("%d ", 2 * n); //stack
}