| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 486 人关注过本帖
标题:汉诺塔问题,可以这样写?return ;?
取消只看楼主 加入收藏
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
结帖率:93.75%
收藏
已结贴  问题点数:40 回复次数:1 
汉诺塔问题,可以这样写?return ;?
这是汉诺塔问题的源码,其中有些部分不太明白,谁能帮我解释一下?谢啦!
程序代码:
#include <iostream>
using namespace std;
void tower(int ,int ,int ,int );
int main()
{
    int panshu;
    cout<<"请输入您要移动的盘子数量:"<<endl;
    cin>>panshu;
    tower(panshu,1,3,2);
    return 0;
}
void tower(int disk,int start,int end,int temp)
{
    if(disk==1)
    {
        cout<<start<<"-->"<<end<<endl;
        return ;}                 //这个地方,为什么会返回  return ; ?可以这样写?
    tower(disk-1,start,temp,end);    //以下三句到底表示什么意思?模模糊糊有点明白
    cout<<start<<"-->"<<end<<endl;   //能通俗的解释一下吗      
    tower(disk-1,temp,end,start);     
}
搜索更多相关主题的帖子: return 源码 
2012-09-03 16:28
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
收藏
得分:0 
回复 2楼 pangding
我想问一下,关于参数start,temp,end 的顺序变换的方法,如何这样变换才能表达我移动盘子的顺序
2012-09-05 16:29
快速回复:汉诺塔问题,可以这样写?return ;?
数据加载中...
 
   



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

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