源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java数据结构和算法学习之汉诺塔示例

  • 时间:2021-03-02 02:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java数据结构和算法学习之汉诺塔示例
[u]复制代码[/u] 代码如下:
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)         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部