| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1198 人关注过本帖
标题:请教递归调用!!
只看楼主 加入收藏
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

hanoi(int n,char x,char y,char z)

{

if(n==1)

printf("%c-->%c/n",x,z);/*n=1,直接把剩下的一个盘移到目标*/

else

{

hanoi(n-1,x,z,y);/*先想办法把n-1个盘子想办法一到辅助塔*/

printf("%c-->%c/n",x,z);/*把剩下的一个盘子移到目标塔*/

hanoi(n-1,y,x,z);/*想办法把辅助塔上的n-1个盘子移到目标塔*/

}

}

这是一个递归调用的过程,理解了对理解递归会有很大的好处


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-11-07 08:00
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
以下是引用时空之蕊在2004-11-04 20:10:27的发言: 可以的!!其实也不难把!!就是要数学比较好!!我记得我曾经看过!!

用模拟栈代替递归调用算不算?


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-11-07 08:01
快速回复:请教递归调用!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013862 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved