博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汉诺塔问题
阅读量:3958 次
发布时间:2019-05-24

本文共 929 字,大约阅读时间需要 3 分钟。

递归原理,所有的盘子永远只分为两部分:最下边的盘子和上边的盘子。
package per.zhangyh.algorithm.hannuota;/** *@author:zhangyonghui; *@date: 2021/6/20; 15:19 *@Describe:汉诺塔问题 */public class HanNuoTa1 {    public static void main(String[] args) {        hannuota(4, "左边托盘", "中间托盘", "右边托盘");    }    /**     * @param n:一共有几个盘子     * @param from:一开始的托盘     * @param middle:中间的托盘     * @param to:目标托盘     *  思想:递归原理,所有的盘子永远只分为两部分:最下边的盘子和上边的盘子     */    public static void hannuota(int n, String from, String middle, String to) {        //当只有一个盘子的时候:        if (n == 1) {            System.out.println("将第 "+n+" 个盘子从 " + from + " 移动到 " + to);        }        //当有多个盘子的时候:        else {            //1,先将上边的盘子移动到中间位置:            hannuota(n - 1, from, to, middle);            //2,再将最下边的那个盘子移动到右边位置:            System.out.println("将第 " + n + " 个盘子从 " + from + " 移动到 " + to);            //3,再将上边的盘子从中间位置移动到右边位置:            hannuota(n - 1, middle, from, to);        }    }}

 

转载地址:http://qytzi.baihongyu.com/

你可能感兴趣的文章
L2-007. 家庭房产(并查集)
查看>>
L2-016. 愿天下有情人都是失散多年的兄妹(搜索)
查看>>
L2-019. 悄悄关注
查看>>
POJ 3468 A Simple Problemwith Integers(SplayTree入门题)
查看>>
营业额统计 HYSBZ - 1588 (伸展树简单应用)
查看>>
HDU 1890 Robotic Sort(伸展树---反转应用)
查看>>
POJ 3580 SuperMemo(伸展树的几个基本操作)
查看>>
(十) Web与企业应用中的连接管理
查看>>
(八) 正则表达式
查看>>
一.JavaScript 基础
查看>>
6.ECMAScript 对象
查看>>
7.ECMAScript 继承
查看>>
HTML DOM
查看>>
AJAX 基础
查看>>
JSON 基础
查看>>
J2EE监听器Listener接口大全[转]
查看>>
cookie、session、sessionid 与jsessionid[转]
查看>>
常见Oracle HINT的用法
查看>>
JAVA中各类CACHE机制实现的比较 [转]
查看>>
PL/SQL Developer技巧
查看>>