搜索
当前位置: 大赢家官网 > 递归方法 >

递归算法的参数传递问题

gecimao 发表于 2019-04-18 14:20 | 查看: | 回复:

  如果递归到hanoi(2,a,c,b)那么形参a,b,c又等于多少,原因是什么?请高手给个解答啊,感激不尽。满意可以再加分。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  因为hanoi(4,a,b,c)函数执行时,即hanoi(4,A,B,C).先执行hanoi(3,a,c,b)。这里a、b、c值没变,而执行前面的hanoi(3,a,c,b)时里面的,函数里面的参数a、b、c已经不是原函数的a、b、c。可以把他们看做是新申请的变量并赋值了追问我上面忘了说了,我上面的是汉诺塔里的一段程序。据我所知,递归调用时,参数的传递,外层函数将实参传递给被调函数的形参,那当hanoi(4,a,b,c)(我用1代替)调用hanoi(3,a,c,b)(用2代替)时,是不是

  也就是是说2.a=A,2.c=B,2.b=C可对?

  1、可以把要解决的问题转化为一个新问题,而这个新的问题的解决方法仍与原来的解决方法相同,只是所处理的对象有规律地递增或递减。

  说明:解决问题的方法相同,调用函数的参数每次不同(有规律的递增或递减),如果没有规律也就不能适用递归调用。

  说明:使用其他的办法比较麻烦或很难解决,而使用递归的方法可以很好地解决问题。

  递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。

本文链接:http://miamiaccounting.net/diguifangfa/141.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部