0
点赞
收藏
分享

微信扫一扫

汉诺塔问题详解

心存浪漫 2022-02-28 阅读 52
算法

汉诺塔问题详解

汉诺塔问题如图,将n个盘子从A柱(通过B柱中转)移动到C柱,每次移动一个盘子,并且在任意情况下不允许大盘子放在小盘子上面,请写出算法。
Hanoi

void hanoi(int n,int b,int a,int c)
{
	if(n > 0){
		hanoi(n-1,c,a,b); //将n-1个盘子借助c从a移动到b(方面最大的盘子移动到c)
		move(a,c); //move函数自己写表示直接移动一个盘子
		hanoi(n-1,a,b,c); //再把b中的n-1个盘子从b中借助a放到c上
	}
}

本题应看清楚形参顺序 借助 源 终点 即可

举报

相关推荐

0 条评论