java数据结构和算法学习之汉诺塔示例_Java教程-查字典教程网
java数据结构和算法学习之汉诺塔示例
java数据结构和算法学习之汉诺塔示例
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:packagecom.tiantian.algorithms;/***_|_1||*__|__2||*___|___3||...

复制代码 代码如下:

package com.tiantian.algorithms;

/**

* _|_1 | |

* __|__2 | |

* ___|___3 | | (1).把A上的4个木块移动到C上。

* ____|____4 | |

* A B C

*

* | | |

* | _|_1 |

* | __|__2 | 要完成(1)的效果,必须要把1、2、3木块移动到B,这样才能把4移动到C

* ____|____4 ___|___3 | 如:代码中的“调用(XX)”

* A B C

*

* | | |

* | _|_1 |

* | __|__2 | 此时,题目就变成了把B上的3个木块移动到C上,回到了题目(1)

* | ___|___3 ____|____4 如:代码中的“调用(YY)”

* A B C

*

* 然后循环这个过程

*

* @author wangjie

* @version 创建时间:2013-3-4 下午4:09:53

*/

public class HanoiTowerTest {

public static void main(String[] args) {

doTowers(4, 'A', 'B', 'C');

}

public static void doTowers(int topN, char from, char inter, char to){

if(topN == 1){

System.out.println("最后把木块1从" + from + "移动到" + to);

}else{

doTowers(topN - 1, from, to, inter); // 调用(XX)

System.out.println("把木块" + topN + "从" + from + "移动到" + to);

doTowers(topN - 1, inter, from ,to); // 调用(YY)

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类