黑马程序员技术交流社区

标题: 河内塔问题——请问谁能分析下呢,看半天没看懂我debug下 [打印本页]

作者: zcbcba123    时间: 2015-12-17 11:48
标题: 河内塔问题——请问谁能分析下呢,看半天没看懂我debug下
//河内塔void hanoi(int n,int p1,int p2,int p3){        if(1==n)                cout<<"盘子从"<<p1<<"移到"<<p3<<endl;        else        {                hanoi(n-1,p1,p3,p2);                cout<<"盘子从"<<p1<<"移到"<<p3<<endl;                hanoi(n-1,p2,p1,p3);        }}

21233227-fdbdf31ae5fe4ab7915f7b4352075ace.png (19.78 KB, 下载次数: 12)

21233227-fdbdf31ae5fe4ab7915f7b4352075ace.png

作者: hei10215    时间: 2015-12-20 01:56
除了盘子有一个外,不管盘子有几个都理解成有两个,最下面一个和上面全部的。p1上的n-1个盘通过p3到p2,把盘,然后以p2为底,通过p1到p3(就想2个盘的移动过程一样)
作者: zcbcba123    时间: 2015-12-21 09:44
hei10215 发表于 2015-12-20 01:56
除了盘子有一个外,不管盘子有几个都理解成有两个,最下面一个和上面全部的。p1上的n-1个盘通过p3到p2,把 ...

哦。。。我先把集合复习咯。这个我逻辑上明白怎么挪了。。。哈哈。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2