非数值型递归问题的求解方法
<!--EndFragment-->在main函数中 递归调用第一层 递归调用第二层 递归调用第三层
递归 递归
┎──────→ movedisc(1,a,b,c) ─→ 输出:1-(1):a==>b
┃ ←────────── 返回递归第二层
┃ 输出:2-(2):a==>c
调用 ┃ movedisc(1,b,c,a) ─→ 输出:3-(1):b==>c
┎─────→ movedisc(2,a,c,b) ←────────── 返回递归第二层
┃ ←───────── 返回递归调用第一层
movedisc(3,a,b,c) 输出:4-(3):a==>b
←───┐?
│ movedisc(2,c,b,a) → movedisc(1,c,a,b) ─→ 输出:5-(1):c==>a
│ ←───────┐ ←────────── 返回递归第二层
│ │ 输出:6-(2):c==>b
└──── 返回main函数 │ movedisc(1,a,b,c) ─→ 输出:7-(1):a==>b
│ ←────────── 返回递归第二层
└─ 返回递归调用第一层
图9-10 N=3时汉诺塔程序的执行过程



