栈和递归

每一个方法的运行,我门认为它是入栈,当一个方法调用完,我们认为它出栈。

递归就是自己方法里面调用自己方法,方法里面提供一个退出点。

//斐波那契数列 递归实现  栈的应用
static int Fbi(int i) {

    Console.WriteLine("Fbi(" + i + ") 被调用(入栈)");
    if (i < 2)
    {
        num++;
        Console.WriteLine("Fbi(" + i + ") 调用完毕(出栈)");
        return i == 0 ? 0 : 1;
    }

    int a = Fbi(i - 1);
    int b = Fbi(i - 2);

    Console.WriteLine("Fbi(" + i + ") 调用完毕(出栈)");
    return a + b;
}

栈的应用-递归和计算器


首页 我的博客
粤ICP备17103704号