您的位置:首页 > 编程语言 > C语言/C++

C++ Using recursion to process linked list, 深入理解递归的过程(part2)

2014-07-08 10:37 453 查看
为了更加深入的理解递归的过程, 遇到递归的程序的时候, 要学会采用画stack frame的方式理解递归(参见part1)

下面在举一个例子加深理解。

改变递归调用语句的顺序, 结果就是从尾部到头打印数据





在主程序调用printList 函数的时候, 不会先打印出来。 而是在递归调用的时候, 先分配stackframe 保存下当前位置, 在新的stackframe上执行。

此时打印的顺序变成了:

首先打印出来的是Tom, 释放Tom的stackframe, 打印出Mark, 。。。 打印出April。

于是打印的顺序完全反过来了。 变成了Tom Mark April。

不难知道原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: