「已注销」 2022-07-12 21:45 采纳率: 66.7%
浏览 31

不懂得汉诺塔函数递归

我不懂得汉诺塔函数递归,希望大家能逐行分析一下下面图片的代码,谢谢大家

img

  • 写回答

2条回答 默认 最新

  • 快乐小土狗 2022-07-12 22:35
    关注

    就是一个递归嘛

    调用hanoi(3,a,c,b)
    n = 3,执行else下面的语句,调用自己,2和其他参数传进去(c和b位置换了,a,b,c)
    n = 2,执行else下面的语句,调用自己,1和其他参数传进去(b和c位置换了,a,c,b)
    n = 1,执行if下面的语句,输出1,a,c,count+1
    输出2,a,b,,count+1,调用自己,1和其他参数传进去(a和c位置换了,c,b,a)
    n = 1,执行if下面的语句,输出1,c,b,count+1
    输出3,a,c,count+1,调用自己,2和其他参数传进去(a和b位置换了,b,c,a)
    n = 2,执行else下面的语句,调用自己,1和其他参数传进去(c和a位置换了,b,a,c)
    n = 1,执行if下面的语句,输出1,b,a,count+1
    输出2,b,c,count+1,调用自己,1和其他参数传进去(b和c位置换了,a,c,b)
    n = 1,执行if下面的语句,输出1,a,c,count+1
    输出 7

    评论

报告相同问题?

问题事件

  • 创建了问题 7月12日