java中汉诺塔

目录

汉诺塔运行原理

汉诺塔代码实现


汉诺塔运行原理

我们就拿三个盘子来说吧

X                   Y                   Z

x,y,z分别代表三个位置,如图

现在我们要把x上面的盘子移动到z上面

大体上可以分为三大步骤:

1,先把前两个从x移动到 y上,具体的步骤是:
   x---->z

   x---->y

  z---->y

2,再把第三个移动到z上

x---->z

3,再把前两个从y移动到 z上,具体的步骤是:

y---->x

y---->z

x---->z

这是三个盘子的步骤,对于n个盘子,也是适用的,因为规律都是从一般到复杂

汉诺塔代码实现

package test1;
public class hannuotaTest {
	public static void main(String[] args) {
		hannuotaTest.hannuoTa(15,"x","y","z");
	}
   public static void hannuoTa(int n,String begin,String mid,String end) {
	     if(n==1) {//begin,mid,end随着参数列表的参数值不断变化
	    	 System.out.println(begin+"--->"+end);
	     }
	     else {
	    	 hannuoTa(n-1,begin,end,mid);
	    	 System.out.println(begin+"--->"+end);
	    	 hannuoTa(n-1,mid,begin,end);
	     }	   
   }
}

汉诺塔也不难 ,啥也别说,干就完了

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值