Java实现二叉树
来源:互联网 发布:vb str是什么意思 编辑:程序博客网 时间:2024/06/16 07:57
package BinaryTree;public class main { public static void main(String[] args) { Node<String> nodes = initTree(); visit(nodes);// 遍历二叉树 System.out.println("======================="); invert(nodes); visit(nodes); } private static void invert(Node<String> node) {// 左右反转二叉树 if (node.leftTree != null || node.rightTree != null) { Node<String> temp = node.leftTree; node.leftTree = node.rightTree; node.rightTree = temp; invert(node.leftTree);// 遍历左子树 invert(node.rightTree);// 遍历右子树 } } private static void visit(Node<String> node) {// 中序遍历 if (node != null) { visit(node.leftTree);// 遍历左子树 System.out.println(node.data);// 动作 visit(node.rightTree);// 遍历右子树 } } private static Node<String> initTree() { Node<String> nodes = new Node<String>("shun");// 根结点 Node<String> node1 = new Node<String>("shun1"); Node<String> node2 = new Node<String>("shun2"); nodes.leftTree = node1;// 添加子节点到根结点 nodes.rightTree = node2; node1.leftTree = new Node<String>("shun11");// 给node1添加子节点 node1.rightTree = new Node<String>("shun12"); node2.leftTree = new Node<String>("shun21"); node2.rightTree = new Node<String>("shun22"); return nodes; }}// 节点类package BinaryTree;public class Node<T> {// T(type)表示泛型 public T data; public Node<T> leftTree; public Node<T> rightTree; Node(T data){ this.data = data; this.leftTree = null; this.rightTree = null; }}
阅读全文
0 0
- JAVA 实现二叉树
- 二叉树 java实现
- 二叉树实现-java
- JAVA 实现二叉树。
- 二叉树Java实现
- java实现二叉树
- 二叉树Java实现
- Java实现二叉树
- Java实现二叉树
- 二叉树java实现
- java 实现二叉树
- 二叉树--java实现
- Java实现二叉树
- java实现二叉树
- 二叉树Java实现
- java实现二叉树
- 二叉树java实现
- java实现二叉树
- 实例讲解Android中AsyncTask的使用详解
- Unix环境编程之 进程控制
- Qt5 中对 C++11 一些新特性的封装详解(一)
- tomcat部署简单的html静态网页
- code length overflow jquery qrcode
- Java实现二叉树
- 获取微信公众号的二维码图片
- bzoj 4145: [AMPPZ2014]The Prices 状压dp
- hive表信息查询:查看表结构、表操作等
- 页面JS、javascript如何获取后台传到页面的值
- chrome 调试器小技巧
- 10个屌炸天的设计网址导航带你嗨翻科技设计界
- 关于同一个Tomcat部署两个web应用cookie表单无法区分那个应用的问题
- 血透常用语句