java编写二叉树以及前序遍历、中序遍历和后序遍历
来源:互联网 发布:好的翻译软件 编辑:程序博客网 时间:2024/06/06 00:03
/** * 实现二叉树的创建、前序遍历、中序遍历和后序遍历 **/package DataStructure;/** * Copyright 2014 by Ruiqin Sun * All right reserved * created on 2014-9-9 下午2:34:15 **/public class BinTreeInt {private Node root;/** * 创建内部节点类 **/private class Node{//左节点private Node leftChild;//右节点private Node rightChild;//节点对应的值private int data;public Node(int data){this.leftChild = null;this.rightChild = null;this.data = data;}}// class Nodepublic BinTreeInt(){root = null;}/* *递归的创建二叉树 * */public void buildTree(Node node ,int data){if (root == null){// 如果根节点为空,创建根节点root = new Node(data);}else{if(data <node.data){//插入到左子树if(node.leftChild == null){//左节点为空,直接创建值为data的左节点node.leftChild = new Node(data);}else{//左节点不为空,调用buildTree函数插到左子树中buildTree(node.leftChild,data);}}else{if(node.rightChild == null){node.rightChild = new Node(data);}else{buildTree(node.rightChild,data);}}}}//end buildTree/* *前序遍历二叉树 * */public void preOrder(Node node){if(node != null){System.out.print(node.data);preOrder(node.leftChild);preOrder(node.rightChild);}}/* *中序遍历二叉树 * */public void inOrder(Node node){if(node != null){inOrder(node.leftChild);System.out.print(node.data);inOrder(node.rightChild);}}/* *后序遍历二叉树 * */public void postOrder(Node node){if(node != null){postOrder(node.leftChild);postOrder(node.rightChild);System.out.print(node.data);}}public static void main(String ars[]){int[] a={2,4,12,45,21,6,111};BinTreeInt binTree = new BinTreeInt();for(int i = 0; i<a.length; i++){binTree.buildTree(binTree.root, a[i]);}System.out.print("前序遍历");binTree.preOrder(binTree.root);System.out.println("");System.out.print("中序遍历");binTree.inOrder(binTree.root);System.out.println("");System.out.print("后序遍历");binTree.postOrder(binTree.root);}}
转载于:http://blog.csdn.net/piaoxue820/article/details/39156649
0 0
- java编写二叉树以及前序遍历、中序遍历和后序遍历
- java编写二叉树以及前序遍历、中序遍历和后序遍历
- 二叉树以及前序遍历、中序遍历和后序遍历
- 通过前序遍历和中序遍历重建二叉树以及输出后序遍历(Java实现)
- 二叉树遍历(Java)---前序遍历,中序遍历,后序遍历
- 二叉树的遍历:前序遍历、中序遍历和后序遍历
- 二叉树的前序遍历,中序遍历,后序遍历以及相互之间的求法
- 二叉树的建立以及前序遍历、中序遍历、后序遍历
- java实现根据前序遍历构建二叉树(前序遍历、中序遍历、后序遍历)
- 根据前序遍历和中序遍历构建二叉树以及根据中序遍历后序遍历构建二叉树
- 二叉树的前序遍历,中序遍历和后序遍历(c#)
- 二叉树的前序遍历、中序遍历和后序遍历及其算法
- 二叉树遍历---已知前序遍历和中序遍历求其后序
- C++数据结构--二叉树的建立,前序遍历,中序遍历和后序遍历
- 二叉树的前序遍历、中序遍历和后序遍历及其算法
- 二叉树的前序遍历、中序遍历和后序遍历及其算法
- 二叉树的前序遍历、中序遍历和后序遍历及其算法
- 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
- 如何理解php中命名空间概念
- Redis 和 Jedis
- android+Python socket
- CMD网络命令
- zoj 2112 Dynamic Rankings (动态主席树)
- java编写二叉树以及前序遍历、中序遍历和后序遍历
- win7下使用共享内存方式CreateFileMapping返回GetLastError总是0x5的问题解决
- objectARX错误处理函数
- 什么是流媒体技术
- C语言分支结构语句if-else语句
- 学习笔记:linuxc第七章—进程控制 下篇
- VC 修改窗口属性
- Climbing Stairs
- 初始EhCache(超轻量级缓存技术)