目录
一、函数调用背后的过程
函数调用的特点:最后被调用的函数最先执行结束(LIFO)
函数调用时,需要用一个栈存储:
①调用返回地址
②实参
③局部变量
二、栈在递归中的应用
适合用“递归”算法解决:可以把原始问题转换为属性相同,但规模较小的问题
Eg 1: 计算正整数的阶乘
递归调用时,函数调用栈可称为“递归工作栈”
每进入一层递归,就将递归调用所需信息压入栈顶
每退出一层递归,就从栈顶弹出相应信息
Eg 2:斐波那契数列
目录
函数调用的特点:最后被调用的函数最先执行结束(LIFO)
函数调用时,需要用一个栈存储:
①调用返回地址
②实参
③局部变量
适合用“递归”算法解决:可以把原始问题转换为属性相同,但规模较小的问题
Eg 1: 计算正整数的阶乘
递归调用时,函数调用栈可称为“递归工作栈”
每进入一层递归,就将递归调用所需信息压入栈顶
每退出一层递归,就从栈顶弹出相应信息
Eg 2:斐波那契数列