java 解决 汉诺塔问题(递归算法)
来源:互联网 发布:小型学校网络设计 编辑:程序博客网 时间:2024/06/06 00:12
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Exercise6_37 extends JApplet implements ActionListener {int totalNumberOfDisks;int numberOfDisksToMove;int singularityPillar = 1;int doomPillar = 3;int tempPillar = 2;int stepsCounter = 0;JLabel inputLabel;JTextField inputField;JTextArea outputArea;JScrollPane scroller;public void init() {Container container = getContentPane();container.setLayout(new FlowLayout());inputLabel = new JLabel("输入盘子的总数:");container.add(inputLabel);inputField = new JTextField(15);inputField.addActionListener(this);container.add(inputField);outputArea = new JTextArea(18, 15);scroller = new JScrollPane(outputArea);container.add(scroller);}public void actionPerformed(ActionEvent actionEvent) {outputArea.setText("");stepsCounter = 0;totalNumberOfDisks = Integer.parseInt(inputField.getText());numberOfDisksToMove = totalNumberOfDisks;tower(numberOfDisksToMove, singularityPillar, doomPillar, tempPillar);outputArea.append("\n\n共需要 " + stepsCounter + "步!");}public void tower(int numberOfDisksToMove, int pillarNoDisksAt,int pillarNoDisksMoveTo, int tempPillar_) {if (numberOfDisksToMove == 1) {outputArea.append("第 " + (++stepsCounter) + "步:" + pillarNoDisksAt+ " -> " + pillarNoDisksMoveTo + "\n");} else {tower(numberOfDisksToMove - 1, pillarNoDisksAt, tempPillar_,pillarNoDisksMoveTo);tower(1, pillarNoDisksAt, pillarNoDisksMoveTo, tempPillar);tower(numberOfDisksToMove - 1, tempPillar_, pillarNoDisksMoveTo,pillarNoDisksAt);}}}
- java 解决 汉诺塔问题(递归算法)
- java数据结构与算法-递归解决汉诺塔问题
- Java 递归解决 "汉诺塔" 问题
- c语言 递归算法解决汉诺塔问题
- 递归算法解决因式分解(java版)
- 递归解决汉诺塔问题解法java代码
- Java基础算法(鸡兔同笼、古诗文倒序、递归入门程序、递归解决淘汰问题)
- 汉诺塔问题(递归算法)
- 汉诺塔问题(递归算法)
- 汉诺塔问题(递归算法)
- 原始的汉诺塔问题递归算法(java代码)
- 递归 汉诺塔问题 Java数据结构与算法
- 递归解决汉诺塔问题
- 递归解决汉诺塔问题
- 递归解决汉诺塔问题
- 汉诺塔问题--递归解决
- 递归解决汉诺塔问题
- 算法(1)整数划分问题之递归解决
- mysql数据库相关
- 街道问题(way.pas/c/cpp)
- 从本地电子商务中走出来,6个很好的O2O模式解析
- 一周简报(Dojo及信息报送业务)
- Android开发音乐播放器
- java 解决 汉诺塔问题(递归算法)
- WTL对 Flash 控件的使用
- 【转】大学生应该知道的经管知识
- 嵌套母板页简单应用
- usaco 欧拉路
- 它看起来是一张图片,实际上是一个压缩包
- Linux su 和 sudo
- C# 中string的最大长度是多少
- 【转】找回你删掉并清空回收站的东西