汉诺塔非递归解法
来源:互联网 发布:java无参构造函数实例 编辑:程序博客网 时间:2024/05/29 12:18
import java.util.Stack;//汉诺塔非递归解法(利用栈模拟递归)class Node{String from,to,mid;int count;int state;public Node(String from, String to,String mid, int count, int state) {super();this.from = from;this.to = to;this.mid=mid;this.count = count;this.state = state;}}public class Main {public static void main(String[] args) {// TODO Auto-generated method stubStack<Node> stack=new Stack<>();int N=20;stack.push(new Node("A", "B","C", N, 1));while(!stack.isEmpty()){Node node=stack.peek();if(node.count==1){System.out.println(node.from+"--->"+node.to);stack.pop();}else{if(node.state==1){stack.push(new Node(node.from, node.mid,node.to, node.count-1, 1));node.state=2;}else if(node.state==2){System.out.println(node.from+"--->"+node.to);node.state=3;stack.push(new Node(node.mid, node.to, node.from, node.count-1, 1));}else if(node.state==3){stack.pop();}}}}}
阅读全文
0 0
- 汉诺塔非递归解法
- 汉诺塔非递归解法
- 背包问题,递归解法
- 汉诺塔的递归解法
- 最大公约数的递归解法
- 迷宫 DFS 递归 解法
- 迷宫 DFS 递归 解法
- 汉诺塔递归解法
- 汉诺塔问题递归解法
- 背包非递归解法
- 最大公约数之递归解法
- 九连环-递归解法
- Josephus问题递归解法
- 汉诺斯塔问题递归解法
- Triangle 递归解法
- 递归思想-汉诺塔解法
- 汉诺塔问题递归解法
- Permutation递归解法
- 27- 二阶构造模式
- python里使用正则表达式的非捕获模式实例二
- 看书笔记-《重构》-第一章
- A Knight's Journey POJ
- 一些Linux高级指令
- 汉诺塔非递归解法
- Python从零开始系列连载(2)——jupyter的常用操作
- leetcode题解-89. Gray Code
- 微服务系统中的认证策略
- 泛型
- JavaScript笔试题(持续更新)
- 欢迎使用CSDN-markdown编辑器
- Spring + Spring MVC + Mybatis 框架整合学习
- 数据库有哪些