刚刚计算机组成原理讲到汇编语言的递归,很受启发,所以分享一个用模拟栈实现递归的通用方法。 在模拟递归过程中之前,肯定先得把递归过程弄明白 比如对于下面的递归(伪代码): void dfs(int a0,int a1,...) { { 代码块0; } dfs(a00,a11,...); { 代码块1; } } 它的执行过程如下: 总的来说递归过程分为以下五步: 执行代码块0 保存现场准备进入下一层 接受下层返回的数据 恢复现场 继续执行代码块1 上述五步相当重要 在直接用递归程序实现递归时,第二步和第四步都是编译器在帮助你完成。而手写...